The proof with the spectral theorem is trivial: the spectral theorem tells you that every symmetric matrix is diagonalizable (more specifically, orthogonally diagonalizable). As you say in your proof, "all we have to show is that $A$ is diagonalizable", so this completes the proof.
The Gram Schmidt process does not seem relevant to this question at all.
Honestly, I prefer your proof. If you like, here is my attempt at making it look "cleaner":
We are given that $A$ is real and symmetric. For any $\lambda$, we note that the algebraic and geometric multiplicities disagree if and only if $\dim \ker (A - \lambda I) \neq \dim \ker (A - \lambda I)^2$. With that in mind, we note the following:
Claim: All eigenvalues of $A$ are real.
Proof of claim: If $\lambda$ is an eigenvalue of $A$ and $x$ an associated unit eigenvector, then we have
$$
Ax = \lambda x \implies x^\dagger Ax = x^\dagger (\lambda x) = \lambda.
$$
However,
$$
\bar \lambda = \overline{x^\dagger Ax} = (x^\dagger A x)^\dagger = x^{ \dagger } A^\dagger x^{\dagger\dagger} = x^\dagger A x = \lambda.
$$
That is, $\lambda = \bar \lambda$, which is to say that $\lambda$ is real. $\square$
With that in mind, it suffices to note that for any matrix $M$, we have $\ker M = \ker M^\dagger M$. Indeed, it is clear that $\ker M \subseteq \ker M^\dagger M$, and we have
$$
x \in \ker M^\dagger M \implies M^\dagger Mx = 0 \implies x^\dagger M^\dagger M x = 0 \\\implies (Mx)^\dagger (Mx) = 0 \implies Mx = 0 \implies x \in \ker M.
$$
Now, taking $M = A - \lambda I$, we see that for any eigenvalue $\lambda$ of $A$, we have
$$
\dim \ker(A - \lambda I)^2 = \dim \ker M^\dagger M = \dim \ker M,
$$
which mean that the algebraic and geometric multiplicities are indeed the same for each eigenvalue $\lambda$.