Your understanding of the proof before the last part seems fine. For the last part of the proof, a bit of a correction: for $\Phi$ to be symmetric, we need to show that for every $f \in H'$ (which we cannot say a priori is of the form $f_y$ for some $y$), there exists a $y \in H$ such that $f = \Phi(y)$. Equivalently, there exists a $y$ such that $f = f_y$.
With that in mind, the idea of the proof is this: we are given a functional $f$ that we believe is equal to $f_y$ for a suitable choice of $y$. The question we're trying to answer is which $y \in H$ will make this work? To put this a bit informally, if we have the functional $f_y$, how can we deduce which vector $y$ should be?
If $f = 0$, of course $y = 0$ works so there isn't much to do there.
Otherwise, we know that $y \neq 0$ and the kernel of $f$ gives us a useful hint. If $f = f_y$, then $x \in \ker(f)$ if and only if $f_y(x) = \langle x,y \rangle = 0$. In other words, $x \in \ker f$ if and only if $x \perp y$. That is, $\ker(f) = \text{span}(y)^\perp$. It follows that
$$
\ker(f)^\perp = \text{span}(y)^{\perp\perp} = \text{span}(y).
$$
So, if $f$ is really of the form $f_y$ for some $y$, then every element in $\ker(f)^\perp$ is a multiple of $y$. By selecting a $z \in \ker(f)^\perp$ with $\|z\| = 1$, we are selecting a unit vector parallel to $y$. All we have to do from this point is find the correct number $k$ so that $y = kz$.
Continuing with the proof, define $c = f(z)$. As a bit of motivation, note that if $y = kz$, then we should have
$$
c = f(z) = \langle z, kz \rangle = \bar k \langle z,z \rangle = \bar k.
$$
In other words, if there exists a value of $k$ for which $y = kz$, then the multiple $k$ that we need is $k = \bar c = \overline{f(z)}$. The point of the rest of the proof is to show that taking $k = \bar c$ really does make it so that $y = kz$ satisfies $f_y = f$. In other words, we want to show that with $z$ and $c$ as defined above, $f_{\bar c z}(x) = f(x)$ holds for every $x \in H$.
With that in mind, take any $x \in H$. Define $g(x) = cx - f(x)z$. We can see that $g(x) \in \ker(f)$ by calculating
$$
f(g(x)) = f(cx - f(x)z) = cf(x) - f(x)f(z) = cf(c) - f(x)c = 0.
$$
Since $\ker(f) = \text{span}(z)^\perp$, we have
\begin{align*}
0 &= \langle g(x),z \rangle = \langle cx - f(x)z, z \rangle
\\ & =
c\langle x, z \rangle - f(x)\langle z, z \rangle
= \langle x, \bar c z \rangle - f(x).
\end{align*}
So, we have just shown that for every $x \in H$, $f_{\bar cz}(x) - f(x) = 0$. In other words, $f = f_{\bar c z}$. So, $\Phi$ is surjective because for every $f \in H'$, taking $y = \bar c z$ with $c$ and $z$ as defined above makes it so that $f = \Phi(\bar c z)$.
Here's a modification of the approach above that I find a bit more intuitive. First of all, I'll prove the following.
Claim: if $f \in H'$ and $f \neq 0$, then $\dim (\ker f)^\perp = 1$.
Proof of claim: We know that $\dim \ker f \neq 0$. Otherwise, the fact that $\ker f$ is a closed subspsace means that $\ker(f) = \ker(f)^{\perp \perp} = \{0\}^\perp = H$, which means that $f = 0$. So, it suffices to show that $\ker(f)^\perp \leq 1$.
Suppose for the purpose of contradiction that $\ker(f)^\perp$ contains linearly independent vectors $x,y$. Because $x,y$ are non-zero, $x$ and $y$ cannot also be elements of $\ker f$ which means that $f(x)$ and $f(y)$ are non-zero. Now, note that $f(y)x - f(x)y$ is an element of $\ker f$ (why?). On the other hand, $x,y$ are both elements of the subspace $\ker(f)^\perp$, so $f(y)x - f(x)y \in \ker(f)^\perp$. Thus, $f(y)x - f(x)y \in \ker(f) \cap \ker(f)^\perp = \{0\}$, which is to say that $f(y)x - f(x)y = 0$. This contradicts the independence of $x$ and $y$. $\square$
Now, to the proof of surjectivity. Let $f \in H'$ be any non-zero functional. Let $z$ denote any unit vector in $\ker (f)^\perp$. By the claim, we know that $\ker(f)^\perp = \text{span}(z)$ and $\ker(f) = \text{span}(z)^\perp$.
Let $c = f(z)$. We want to show that $f = \Phi(\bar c z)$, which is to say $f = f_{\bar c z}$. Because $\ker(f)$ and $\ker(f)^\perp$ are complementary subspaces, it suffices to show that $f(x) = f_{\bar c z}(x)$ for all $x \in \ker (f)$ and that the same holds for all $x \in \ker(f)^\perp$.
If $x\in \ker (f)$, then it's clear that $f(x) = f_{\bar c z}(x) = 0$.
If $x \in \ker(f)^\perp$, then we know that $x = tz$ for some $t \in \Bbb C$. It follows that
$$
f(x) = f(tz) = tf(z) = ct\\
f_{\bar cz}(x) = \langle tz, \bar cz \rangle = ct \langle z, z\rangle = ct.
$$
So, we indeed have $f(x) = f_{\bar c z}(x)$ in this case. So, we can conclude that $f = f_{\bar c z}$, which is what we wanted.
\langle ... \ranglelooks better than< ... >,\suplooks better thansup, and\| ... \|looks better than|| ... ||. – Ben Grossmann Jan 09 '24 at 17:52