There's a definite problem with this proof, but it's a little difficult to pinpoint precisely due to some muddled notation and missing details.
When you write
there is $J\in\mathbb{N}$ such that $$\left|\frac{1}{2^n}x^{(N)}_n\right|<\varepsilon,$$
I'm guessing you mean
there is $J\in\mathbb{N}$ such that $$n \ge J \implies \left|\frac{1}{2^n}x^{(N)}_n\right|<\varepsilon?$$
But, either which way, I can't follow the argument here:
\begin{align*}\sum_{n}\frac{|x_n|}{2^n}&\leq \sum_{n}\frac{|x^{(N)}_n-x_n|}{2^n}+\sum_{n}\frac{|x^{(N)}_n|}{2^n}\\ &\leq \sum_{n}\frac{\varepsilon}{2^n}+\color{red}{\varepsilon\,\,\,\,(\text{since} \sum_{n\geq J}\frac{1}{2^n}<1)}\\&\leq 2\varepsilon.\end{align*}
Firstly, you're using $\sum_n$, and my best guess is that $\sum_n = \sum_{n=1}^\infty$. However, I can't explain the highlighted bit in red. While you know that eventually the terms of the sum $\sum_{n}\frac{|x^{(N)}_n|}{2^n}$ are bounded above by $\varepsilon$, this does not even prove that the sum is convergent, let alone less than $\varepsilon$! This seems like a significant issue with the proof.
As an alternative, try working with the linear functional
$$\phi : c_0 \to \Bbb{F} : (x_n) \mapsto \sum_{n=1}^\infty \frac{1}{2^n}x_n,$$
(where $\Bbb{F} = \Bbb{R}$ or $\Bbb{C}$ is your field). Note that $M$ is the kernel of $\phi$, which establishes $M$ as a linear subspace of $c_0$, and is closed if and only if $\phi$ is bounded.
Suppose $\mathbf{x} = (x_n)$ and $\|\mathbf{x}\|_\infty \le 1$, i.e. $|x_n| \le 1$ for all $n$. Then,
$$|\phi(\mathbf{x})| = \left|\sum_{n=1}^\infty \frac{1}{2^n}x_n\right| \le \sum_{n=1}^\infty \frac{1}{2^n}|x_n| \le \sum_{n=1}^\infty \frac{1}{2^n} = 1,$$
and so $\phi$ is bounded. Thus, $M = \operatorname{ker} \phi$ is a closed subspace of $c_0$.
Best Answer
No. Let $a=(k^{-1/p})_k$ and $$ a^n=(1,2^{-1/p},\dots,n^{-1/p},0,0,0,\dots). $$ Then $a^n$ converges to $a$ in $c_0$, but $a\notin\ell^p$.