My proof seems way too trivial, so I am really doubting it.
Equip $X$ with any norm $\|\cdot\|_X$ (note that $\|\cdot\|_X : X \rightarrow \Bbb R$ is continuous). Since $\Bbb Q \setminus \{0\}$ is countable, we may enumerate it; i.e. $\Bbb Q \setminus \{0\} = \{q_1, q_2, \ldots \}$. Then define $f_n: X\to \mathbb{R}$ by $f_n(x) = q_n\|x\|_X, \forall n \in \Bbb N$.
Each $f_n$ is continuous on X as $\|\cdot\|_X$ is continuous. Take $x,y \in X$ such that $x \neq y$. Then: $$|f_n(x) - f_n(y)| = |q_n| \cdot|\|x\|_X - \|y\|_X| > 0$$ since $\|x\|_X \neq \|y\|_X$ since $x \neq y$ (and since $q_n \neq 0, \forall n \in \Bbb N$).
Thus, $\forall x,y \in X$ for which $x \neq y, \exists n \in \Bbb N$ such that $f_n(x) \neq f_n(y)$. So $\{f_n\}_{n \in \Bbb N}$ separates points.
If I am way off the mark, hints only please!
A compact metric space is separable so let $D$ be a countable dense subset of $(X,d)$.
Define $f_q \in C(X)$ as $f_q(x) = d(x,q)$ for $q \in D$.
Therefore $\{f_q\}_{q \in D}$ is a countable subset of $C(X)$ which separates points.