Let $X$ be a Banach space and assume that $(B_X, \text{weak})$ is metrizable.
WLOG, we may assume that
$$U_n = \{ x \in B_X : | f(x) | < 1, \, f \in F_n \},$$ where $F_n$ is a finite subset of $X^*$ and $n \in \mathbb{N}$, form a countable base of nbhs of $0$ in $(B_X, \text{weak})$.
To see that $X^*$ is separable, it is enough to show that $\overline{\text{span}} (\bigcup_{n \in \mathbb{N}} F_n ) = X^*$
Under this situation, pick $x^{**} \in X^{**}$ that vanishes on $\bigcup_{n \in \mathbb{N}} F_n$.
According to the textbook (Fabian), there exists a net $\{x_{\alpha}\}$ in $B_X$ that $\text{weak}^*$-converges to $x^{**}$.
I think the Goldstine theorem is used here.
But then, how can we know that such $x^{**}$ lies in $B_{X^{**}}$ (to apply the Goldstine theorem)?
Any help will be appreciated!
As @John Griffin said, by considering $x^{**}/\|x^{**}\|$, we can choose a net $\{x_{\alpha}\}$ in $B_{X}$ that $\text{weak}^*$-converges to $x^{**}/\|x^{**}\|$.
Here, we assumed that $x^{**} \neq 0$.
From the fact that for fixed $n \in \mathbb{N}$ there exists $\alpha_0$ such that $$ |\,f(x_{\alpha})| = \left| \, f\left( \frac{x^{**}}{\|x^{**}\|} - x_{\alpha}\right) \right| < 1 $$ for all $f \in F_n$ whenever $\alpha \geq \alpha_0$, we can conclude that $x_{\alpha} \in U_n$ for $\alpha \geq \alpha_0$.
Hence $x_{\alpha} \rightarrow 0$ in weak-sense; thus $x^{**}/\|x^{**}\| = 0$, a contradiction!
Thus, $x^{**} = 0$.
It follows that $\left(\text{span}\left( \bigcup_{n\in\mathbb{N}} F_n\right)\right)^{\perp} = \{0\}$, therefore $\overline{\text{span}}\left( \bigcup_{n\in\mathbb{N}} F_n\right) = X^{*}.$
The proof is done.