The idea behind the proof that if $E'$ is separable, then so is $E$ I'm reading the proof of below Theorem 3.26 in Brezis's book of Functional Analysis. A similar proof can be found here. However, the idea behind the construction of such a countable dense subset is not very clear. After a while, I come up with my intuition. Please feel free to give comments on my attempt or add your thoughts on how we arrive at the proof.

Let $E$ be a normed space and $E'$ its topological dual. If $E'$ is separable, then so is $E$.

PS: I posted my proof separately so that I can accept my own answer to remove my question from unanswered list. Surely, if other people post answers, then I will happily accept theirs.
 A: Let $F$ be a countable dense subset of $E'$. By Hahn-Banach theorem, we need to find a countable subset $D$ of $E$ such that $$\forall f \in E' \big [ f \restriction \operatorname{span}_\mathbb R D \equiv 0 \implies f \equiv 0 \big ].$$
Clearly, $\operatorname{span}_\mathbb R D$ is a vector subspace of $E$. If $D$ satisfies above condition, then $\overline{\operatorname{span}_\mathbb R D} = E$. Clearly, $\overline{\operatorname{span}_\mathbb Q D} = \operatorname{span}_\mathbb R D$ and thus $\overline{\operatorname{span}_\mathbb Q D} = E$. Moreover, $\overline{\operatorname{span}_\mathbb Q D}$ is also countable.
Let's characterize $D$. Fix $f\in E'$ such that $f \restriction \operatorname{span}_\mathbb R D \equiv 0$. There is a sequence $(f_n)$ in $F$ such that $f_n \to f$. We have
$$
\sup_{x \text{ s.t. } |x|=1} \langle f_n-f, x \rangle = \|f_n-f\| \to  0.
$$
The hypothesis $f \restriction \operatorname{span}_\mathbb R D \equiv 0$ implies $f \restriction D \equiv 0$. It follows that
$$
\sup_{x \in D \text{ s.t. } |x|=1} \langle f_n, x \rangle \to  0.
$$
It suffices that $f_n \to 0$ or equivalently $\|f_n\| \to 0$. This suggests us a "bound"
$$
\|f_n\| \le\sup_{x \in D \text{ s.t. } |x|=1} \langle f_n, x \rangle.
$$
This "bound" maybe too strong to be true, but a weaker bound (by a positive constant $\alpha <1$) is enough for our goal, i.e.,
$$
\alpha\|f_n\| \le\sup_{x \in D \text{ s.t. } |x|=1} \langle f_n, x \rangle.
$$
For this inequality to hold, it suffices that for each $n$, there is $x_n \in D$ such that $|x_n|=1$ and
$$
\alpha\|f_n\| \le \langle f_n, x_n \rangle.
$$
Such pick of $x_n$ is possible due to $\alpha \in (0, 1)$. This completes the proof.
