Limits of (commutative) monoids can simply by constructed with pointwise operations from the underlying limits of sets. This shows immediately that $\mathbf{CMon}$ is complete and that $U$ is continuous. To show the solution set condition, let $M$ be a commutative monoid and let $f : S \to U(M)$ be a map. Consider the submonoid $M'$ of $M$ generated by the image of $f$. Explicitly, $M'$ consists of all $\mathbb{N}$-linear combinations of elements of the form $f(s)$, where $s \in S$. The next step is to bound the size of the underlying set of $M'$. This is usually done with cardinal numbers, but actually one does not need cardinal numbers at all
for this argument. Notice that there is a surjective map*
$\coprod_{n \in \mathbb{N}} (\mathbb{N} \times S)^n \to U(M').$
which maps $((m_1,s_1)),\dotsc,(m_n,s_n))$ to $m_1 f(s_1) + \cdots + m_n f(s_n)$. It follows that $U(M')$ is isomorphic to a subset of the set $T := \coprod_{n \in \mathbb{N}} (\mathbb{N} \times S)^n$ (which only depends on $S$). By structure transport, it follows that $M'$ is isomorphic to a monoid whose underlying set is a subset of $T$. But there is only a set of such monoids. Therefore, a solution set consists of those monoids whose underlying set is a subset of $T$.
By the way, a similar argument shows that for every finitary algebraic category $\mathcal{C}$ the forgetful functor $\mathcal{C} \to \mathbf{Set}$ has a left adjoint. In fact, it is even monadic.
For commutative monoids, though, the simplest way is just a direction construction: the underlying set of the free commutative monoid on $S$ is the set of functions $S \to \mathbb{N}$ with finite support (these formalize linear combinations with $\mathbb{N}$-coefficients in $S$), and the operation comes from $\mathbb{N}$. For monoids and groups (or lie algebras etc.), direct constructions are not so straight forward anymore and the above method gives a really slick existence proof.
*Alternatively, you can use a surjective map $\coprod_{n \in \mathbb{N}} S^n \to U(M')$.