$\newcommand\de\delta\newcommand\ep\varepsilon$This is true for any metric space $(X,d)$. In particular, the completeness and separability conditions are not needed. The $f_n$'s (which are actually Lipschitz continuous) are given by a simple explicit construction. The proof is completely elementary.
Indeed, for natural $n$ and $x\in X$, let
$$f_n(x):=\inf_{y\in X}(f(y)+nd(y,x)).$$
We have $m\le f\le M$ for some real $m,M$. So, for all $n$ and all $x\in X$,
$$m\le\inf_{y\in X}f(y)\le f_n(x)\le f(x)+nd(x,x)=f(x)\le M,$$
so that $m\le f_n\le M$.
For all $x,x_1,y$ in $X$,
$$f_n(x_1)\le f(y)+nd(y,x_1)\le f(y)+nd(y,x)+nd(x,x_1),$$
so that
$$f_n(x_1)\le \inf_{y\in Y}(f(y)+nd(y,x)+nd(x,x_1))=f_n(x)+nd(x,x_1),$$
so that $f_n$ is $n$-Lipschitz and hence uniformly continuous.
Take any compact $K\subseteq X$ and any real $\ep>0$. Since $f$ is continuous, for each $z\in X$ there is some real $\de_z>0$ such that $|f(w)-f(z)|<\ep$ for all $w\in V_z:=B_z(2\de_z)$, where $B_z(r)$ is the open ball in $X$ of radius $r$ centered at $z$. Since $K$ is compact, there is some finite subset $F$ of $K$ such that $\bigcup_{z\in F}U_z\supseteq K$, where $U_z:=B_z(\de_z)$. Let $\de:=\min_{z\in F}\de_z$.
Now take any $x\in K$ and any $y\in X$. Then $x\in U_{z_x}\subseteq V_{z_x}$ for some $z_x\in F$ and hence $|f(x)-f(z_x)|<\ep$.
If $d(y,x)<\de$, then $d(y,z_x)\le d(y,x)+d(x,z_x)<\de+\de_{z_x}\le2\de_{z_x}$, so that $y\in V_z$ and hence $|f(y)-f(z_x)|<\ep$, so that
$$f(y)\ge f(x)-|f(x)-f(z_x)|-|f(y)-f(z_x)|>f(x)-2\ep.$$
So, if $d(y,x)<\de$, then
$$f(y)+nd(y,x)\ge f(y)>f(x)-2\ep.$$
If now $d(y,x)\ge\de$, then
$$f(y)+nd(y,x)\ge m+nd(y,x)\ge m+n\de\ge M\ge f(x)$$
if $n\ge N:=(M-m)/\de$, so that for such $n$ and all $x\in K$ we have
$$f_n(x)=\inf_{y\in X}(f(y)+nd(y,x))>f(x)-2\ep.$$
On the other hand, $f_n\le f$. So, $f_n\to f$ uniformly on $K$. $\quad\Box$