It is sufficient to assume that $f$ is bounded. Suppose $f_j\to f$ uniformly and that $|f|$ is bounded by $M\geq 1/2$. Then for any $\epsilon>0$, we have some $N\in \mathbb N$ such that $n\geq N\implies |f_n(x)-f(x)|<\frac{\epsilon}{2M+\epsilon},\forall x\in S$ thus for $x\in S,n\geq N$ we have $\begin{eqnarray} |f_n^2(x)-f^2(x)|&=&|f_n(x)-f(x)||f_n(x)+f(x)|\\ &\leq& |f_n(x)-f(x)|(|f_n(x)-f(x)|+2|f(x)|)\\ &<&\frac{\epsilon}{2M+\epsilon}(2M+\epsilon)=\epsilon\\ \end{eqnarray}$ so $f_j^2\to f^2$ uniformly.
As a partial converse, if $|f_n(x)-f(x)||f(x)|$ is unbounded for infinitely many $n$ then $\begin{eqnarray} |f_n^2(x)-f^2(x)|&=&|f_n(x)-f(x)||f_n(x)+f(x)|\\ &\geq& |f_n(x)-f(x)|(2|f(x)|-|f_n(x)-f(x)|)\\ &\geq& 2|f_n(x)-f(x)||f(x)|-|f_n(x)-f(x)|^2\\ \end{eqnarray}$ can be made arbitrarily large for arbitrarily large $n$ by choosing $n$ such that $|f_n(x)-f(x)|<1$ for all $x$ and $|f_n(x)-f(x)||f(x)|$ is unbounded. Thus in this case $(f_j^2)$ does not converge uniformly to $f^2$.
Note that if $S$ is closed and bounded and $f$ is continuous then since $S$ is compact $f$ will be bounded, giving us another sufficient hypothesis.