Suppose that there is some non-empty open set $U$ such that $U \cap \overline{X_0} = \emptyset$. We can take $U$ to be of the form
$U=B(\hat{x},\epsilon)$ for some $\epsilon >0$. Since $X_0 $ is a subspace, we have $\hat{x} \ne 0$.
The Hahn Banach theorem gives the existence of some continuous functional $\phi$ and some $\alpha$ such that $\operatorname{re}\phi(u) < \alpha \le \operatorname{re} \phi(y)$ for all $u \in U, y \in \overline{X_0}$.
Use the fact that $X_0$ is a subspace and the form of $U$ to conclude that $\phi(y) = 0$ for all $y \in X_0$, but $\phi(\hat{x}) < 0$.
Addendum: Proof using the version of Hahn Banach in the comments below.
Let $\hat{x}$ be as above and
let $W = \{ \lambda \hat{x} + y | \lambda \in \mathbb{K}, y \in \overline{X_0} \}$. Note that any $w \in W$ has a unique representation $w = \lambda \hat{x} + y$.
Define $f: W \to \mathbb{K}$ by $f(\lambda \hat{x} + y ) = \lambda$.
Note that $\ker f = \overline{X_0}$ is closed (in $W$), hence $f$ is continuous (as a map $W \to \mathbb{K}$), and $f(\hat{x}) = 1$.
The theorem referred to in the comments lets us extend $f$ to $\tilde{f}: X \to \mathbb{K}$ without increasing the norm (in particular, $\tilde{f} \in X^*$, which is what we care about here).
Hence we have a functional $\tilde{f}$ which is zero on $\overline{X_0}$, but non-zero on $X$.