It is not only because that $C_c^\infty$ is dense in $L^2$, but also you have to relay on something from functional analysis. In my post here, which you already noticed, I call for help from the following lemma from Functional Analysis:
Let $X$ be a Banach space, $S$ be a total subset of $X^*$, i.e., the span of $S$ is dense in $X^*$, $(x_n)$ be a sequence in $X$ and $x\in X$ is given. Then $x_n\to x$ weakly as $n\to\infty$ if and only if $({x_n})$ is bounded and
$$
\left<{y^*,x_n}\right>\to\left<{y^*,x}\right>\text{ for all }y^*\in S.
$$
Here the boundness of $(x_n)$ is very important.
Notice that from the question itself you already proved that $u_\epsilon$ is bounded in $H^1$ norm, hence, $\nabla u_\epsilon$ is bounded in $L^2$ norm. Therefore, from lemma I mentioned above, we have, instead using $L^2$ as the test function for weak $L^2$ convergence, we could only use the dense set of it, i.e., the $C_c^\infty$ function, and hence addressed your problem.
Notice that we use this fact many times in Sobolev space theory, especially when using the density argument.