If $H\leq G$ and $[G:H]=2$ then $H$ is normal in $G$.
The simplest proof I can think of is that if $gH\neq Hg$ and $|H|=|G|/2$ then because $gH$ and $Hg$ have also order $|G|/2$, we have $|H|=|gH|=|Hg|$ but that would mean $[G:H]=3$, thus $gH = Hg$
Or even we can say that since the groups $H,gH,Hg $ have all order $|G|/2$ then the elements of those subroups would be $\frac{|G|}{2}-1+\frac{|G|}{2}-1+\frac{|G|}{2}>|G|$ so it must be $gH = Hg$.
Is this right? Or am i missing something?
The proofs you gave are incorrect. The left cosets partition $G$ and the right cosets partition $G$, but these are completely separate partitions. In particular, you can't conclude that $H, gH, Hg$ are disjoint.
The easiest proof is that if $g \notin H$, then $gH \neq H$, and since it must be disjoint from $H$, we must have $gH = G \setminus H$ (since the left cosets $\{H,gH\}$ form a partition). The same argument shows that $Hg = G \setminus H$ and hence $gH = Hg$, so that $H$ is normal in $G$.