Here is another version of the same proof.
If $\langle \psi | A \psi \rangle \in \mathbb R$ for all $\psi \in \cal H$, then
$\langle \psi | A \psi \rangle^* = \langle \psi | A \psi \rangle$ for all $\psi \in \cal H$. Since $\langle \psi | \phi \rangle^* = \langle \phi| \psi\rangle$ we have that $\langle \psi | A \psi \rangle = \langle A\psi | \psi \rangle$ that is $^1$ $\langle \psi | A \psi \rangle = \langle \psi | A^\dagger \psi \rangle$, namely:
$$\langle \psi | (A-A^\dagger) \psi \rangle =0 \quad \forall \psi \in {\cal H}\:.\tag{1}$$
Now consider $\psi = \phi + \chi$, where $\phi,\chi \in {\cal H}$ are arbitrary, obtaining:
$$\langle\phi + \chi| (A-A^\dagger) (\phi + \chi) \rangle =0 \tag{2}\:.$$
using the fact that $\langle \phi | (A-A^\dagger) \phi \rangle = \langle \chi | (A-A^\dagger) \chi \rangle 0$ in view of (1), and expanding (2) taking the real bilinerity of the scalar product into account we find
$$\langle \phi | (A-A^\dagger) \chi \rangle + \langle \chi | (A-A^\dagger) \phi \rangle=0\:.\tag{3}$$
The procedure can be implemented another time, starting again from (1) but now using $\psi = \phi + i\chi$. Exploiting the fact that the scalar product is anti linear in the left argument and linear in the right one, this time we end up with
$$i\langle \phi | (A-A^\dagger) \chi \rangle -i \langle \chi | (A-A^\dagger) \phi \rangle=0\:,$$
that is
$$\langle \phi | (A-A^\dagger) \chi \rangle - \langle \chi | (A-A^\dagger) \phi \rangle=0\:,$$
Together with (3) it entails in particular that
$$\langle \chi | (A-A^\dagger) \phi \rangle =0 \quad \forall \phi, \chi \in {\cal H}\:.$$
We are free to choose $\chi = (A-A^\dagger) \phi$ obtaining
$$|| (A-A^\dagger) \phi||^2 = \langle (A-A^\dagger) \phi | (A-A^\dagger) \phi \rangle =0 \quad \forall \phi \in {\cal H}\:,$$
which immediately implies
$$ (A-A^\dagger) \phi =0 \quad \forall \phi \in {\cal H}\:.$$
Summing up, we have obtained
$$A^\dagger \phi = A\phi\quad \forall \phi \in {\cal H}$$
that is the thesis. If the domain of $A$ is not the whole Hilbert space, the above reasoning holds however in that domain as it is a linear subspace by hypotheses.
(1) I just used the defintion of adjoint, $A^\dagger$, of $A$ that implies both
$\langle \psi | A \phi \rangle = \langle A^\dagger \psi | \phi \rangle$ and
$\langle A\phi | \psi \rangle = \langle \phi | A^\dagger\psi \rangle$.