preliminaries
$A^\frac{1}{2}BA^\frac{1}{2}$ is real symmetric positive semi-definite because
$\mathbf x^TA^\frac{1}{2}BA^\frac{1}{2}\mathbf x = \big\Vert B^\frac{1}{2}A^\frac{1}{2}\mathbf x\big\Vert_2^2\geq 0$ for any $\mathbf x \in \mathbb R^n$
we also know
$\text{trace}\Big(\big(A^\frac{1}{2}BA^\frac{1}{2}\big)^k\Big)= \text{trace}\Big(\big(AB\big)^k\Big)$
for all natural numbers $k$ so they have the same characteristic polynomials
$C:=A^\frac{1}{2}BA^\frac{1}{2}$
and for natural numbers $k$ we have the useful identity
$A^\frac{1}{2}C^k A^\frac{1}{2}B = (AB)^{k+1}= (AB)(AB)^{k} $
since $C$ is diagonalizable over reals we proceed with a minimal polynomial argument
main argument
we have
$p(C) = \mathbf 0$
where $p$ is the minimal polynomial of $C$-- i.e. for this problem: $p$ is the characteristic polynomial of $C$ except there are no repeated roots. This implies
$\mathbf 0 =A^\frac{1}{2} p(C)A^\frac{1}{2}B = AB\cdot p(AB)=g\big(AB\big)$
Thus the polynomial $g$ annihilates $(AB)$, and $g$ has no repeated roots, except possibly with the eigenvalue zero.
thus we know that for every distinct $\lambda \gt 0$ of $\big(AB\big)$ we have
$\text{geometric multiplicity}_{\text{of }\lambda}\big(AB\big)= \text{algebraic multiplicity}_{\text{of }\lambda}\big(AB\big) $
in other words: all positive eigenvalues of $\big(AB\big)$ are semi-simple
semisimplicity of $\lambda =0$
underlying ideas in the below inequalities (i) submultiplicativity of rank which holds over any field, (ii) usefulness of matrix square root which is something of a special feature in $\mathbb R$ or $\mathbb C$ associated with positive semi-definiteness, (iii) in $\mathbb R$ or $\mathbb C$ we have
$\text{rank}\big(Z^*Z\big) = \text{rank}\big(Z\big)$ and $\text{rank}\big(Z^*Z\big)=\text{rank}\big(ZZ^*\big)$
for a crude proof of (iii): use Polar Decomposition
To prove that zero is semisimple-- or equivalently, to prove that there isn't a 'shortage' of eigenvectors associated with the eigenvalue $0$, we need to estimate $(AB)$'s rank
$\text{rank}\big(AB\big)$
$=\text{rank}\big(B^*A^*AB\big)$
$=\text{rank}\big(BA^2B\big)$
$\leq\text{rank}\big(B^\frac{1}{2}A^2B\big)$
$\leq\text{rank}\big(B^\frac{1}{2}A^2B^\frac{1}{2}\big)$
$=\text{rank}\big(ABA\big)$
$\leq\text{rank}\big(A^\frac{1}{2}BA\big)$
$\leq\text{rank}\big(A^\frac{1}{2}BA^\frac{1}{2}\big)$
If we negate the above and add $n$ we can apply rank-nullity to get
$\text{algebraic multiplicity}_{\text{of }\lambda \text{= 0}}\big(A^\frac{1}{2}BA^\frac{1}{2}\big)$
$=\text{geometric multiplicity}_{\text{of }\lambda \text{= 0}}\big(A^\frac{1}{2}BA^\frac{1}{2}\big) $
$\leq \text{geometric multiplicity}_{\text{of }\lambda \text{= 0}}\big(AB\big) $
$\leq \text{algebraic multiplicity}_{\text{of }\lambda \text{= 0}}\big(AB\big) $
$=\text{algebraic multiplicity}_{\text{of }\lambda \text{= 0}}\big(A^\frac{1}{2}BA^\frac{1}{2}\big)$
that is, we have
$\text{geometric multiplicity}_{\text{of }\lambda \text{= 0}}\big(AB\big)= \text{algebraic multiplicity}_{\text{of }\lambda \text{= 0}}\big(AB\big) $
so we also know the eigenvalue of $0$ is semi-simple for $\big(AB\big)$, which completes the proof.