As you said, you want to show that for any $\epsilon>0$ there is some $n_0\in\Bbb N$ such that $|a_m - a_n|<\epsilon$ whenever $m, n \ge n_0$. The trick is to figure out how big an $n_0$ you’re going to need to make sure that $|a_m-a_m|<\epsilon$ no matter how far apart $m$ and $n$, as long as they’re both at least $n_0$. Okay, suppose that we look at $|a_m-a_n|$ when $m$ and $n$ are not necessarily consecutive. There’s no harm in assuming that $m\le n$; then $k=n-m\ge 0$, and we’re looking at $|a_m-a_{m+k}|$. We only have a handle on the size of this number when $k=1$: if $k=1$, $|a_m-a_{m+k}|\le 2^{-m}$. But we also have the triangle inequality:
$$\begin{align*}
|a_m-a_{m+k}|&=|(a_m-a_{m+1})+(a_{m+1}-a_{m+2})+\ldots+(a_{m+k-1}-a_{m+k})|\\
&\le|a_m-a_{m+1}|+|a_{m+1}-a_{m+2}|+\ldots+|a_{m+k-1}-a_{m+k}|\\
&<2^{-m}+2^{-(m+1)}+\ldots+2^{-(m+k-1)}\\
&<\sum_{k\ge m}\frac1{2^k}\\
&=\frac{\frac1{2^m}}{1-\frac12}\\
&=\frac1{2^{m-1}}\;.
\end{align*}$$
Thus, if $m,n\ge n_0$, we automatically have $|a_m-a_n|<\dfrac1{2^{m-1}}\le\dfrac1{2^{n_0-1}}$. If we choose $n_0$ big enough so that $\dfrac1{2^{n_0-1}}\le\epsilon$, we’ll be in business. Is this always possible? Sure: just make sure that $2^{n_0-1}\ge\dfrac1\epsilon$, i.e., that $n_0\ge\log_2\dfrac2\epsilon$; this is certainly always possible.