Solution 1:

In general, for $A:H\longrightarrow H$ bounded linear operator on a Hilbert space $H$, $A\geq 0$ implies $A^*=A$. Where $A\geq 0$ means $(Ax,x)\geq 0$ for every $x\in H$. Note that we could more generally simply assume that $(Ax,x)\in \mathbb{R}$ for every $x$ in $H$.

By assumption, $(Ax,x)\in\mathbb{R}$ whence $$ (Ax,x)=\overline{(Ax,x)}=(x,Ax)=(A^*x,x)\quad \Rightarrow \quad ((A-A^*)x,x)=0\quad \forall x\in H. $$

So it boils down to the following key property, which is false in the real case.

Fact: if $T$ is a (not necessarily bounded) linear operator on a complex Hilbert space $H$ such that $(Tx,x)=0$ for every $x\in H$, then $T=0$.

Proof: the usual polarization tricks, assuming semi-linearity in the first variable. With $x+y$, we get $$ 0=(T(x+y),x+y)=(Tx,y)+(Ty,x). $$ And with $x+iy$, $$ 0=(T(x+iy),x+iy)=i(Tx,y)-i(Ty,x). $$ It follows that $(Tx,y)=0$ for every $x,y$, whence $Tx=0$ for every $x$. $\Box$.