[proofplan]
The key point is that the first Fourier coefficient of $T_n g$ recovers the $n$-th Fourier coefficient of $g$. Therefore, if $g$ has the same Hecke eigenvalues as the normalized eigenform $f$, every Fourier coefficient of $g$ is forced to be $a_1(g)$ times the corresponding Fourier coefficient of $f$. Hence $g=a_1(g)f$ by equality of Fourier expansions, so the eigenspace is exactly the complex line spanned by $f$.
[/proofplan]
[step:Show that the normalized newform spans a line inside the simultaneous eigenspace]
Since $f$ is assumed to satisfy
\begin{align*}
T_n f = a_n(f) f
\end{align*}
for every $n \in \mathbb{N}$, the definition of $E_f$ gives $f \in E_f$. Since $a_1(f)=1$, the form $f$ is not the zero cusp form. Therefore
\begin{align*}
\mathbb{C}f \subseteq E_f
\end{align*}
and $\dim_{\mathbb{C}} E_f \geq 1$.
[/step]
[step:Relate the Hecke eigenvalue condition to Fourier coefficients]
Let $g \in E_f$. Write its Fourier expansion at the cusp $\infty$ as
\begin{align*}
g(z)=\sum_{m=1}^{\infty} a_m(g) q^m,
\qquad q=e^{2\pi i z}.
\end{align*}
For each $n \in \mathbb{N}$, the defining Fourier-coefficient property of the Hecke operator $T_n$ on $S_2(\Gamma_0(N))$ gives
\begin{align*}
a_1(T_n g)=a_n(g).
\end{align*}
On the other hand, since $g \in E_f$,
\begin{align*}
T_n g = a_n(f) g.
\end{align*}
Taking the first Fourier coefficient on both sides gives
\begin{align*}
a_1(T_n g)=a_1(a_n(f)g)=a_n(f)a_1(g).
\end{align*}
Combining the two equalities, we obtain
\begin{align*}
a_n(g)=a_1(g)a_n(f)
\end{align*}
for every $n \in \mathbb{N}$.
[guided]
Let $g \in E_f$. We want to prove that $g$ is a scalar multiple of $f$, and the scalar should be forced by the first Fourier coefficient of $g$. Write
\begin{align*}
g(z)=\sum_{m=1}^{\infty} a_m(g)q^m,
\qquad q=e^{2\pi i z}.
\end{align*}
Because $g$ is a cusp form, the expansion starts at $m=1$.
The Hecke operator $T_n$ is normalized so that the first Fourier coefficient of $T_n g$ is the $n$-th Fourier coefficient of $g$:
\begin{align*}
a_1(T_n g)=a_n(g).
\end{align*}
This is the coefficient-extraction mechanism behind multiplicity one.
Now use the defining property of $E_f$. Since $g \in E_f$, the same operator $T_n$ acts on $g$ through the scalar $a_n(f)$:
\begin{align*}
T_n g=a_n(f)g.
\end{align*}
Taking first Fourier coefficients gives
\begin{align*}
a_1(T_n g)=a_1(a_n(f)g)=a_n(f)a_1(g).
\end{align*}
Comparing the two formulas for $a_1(T_n g)$ yields
\begin{align*}
a_n(g)=a_1(g)a_n(f)
\end{align*}
for every $n \in \mathbb{N}$.
[/guided]
[/step]
[step:Conclude that every vector in the eigenspace is a scalar multiple of $f$]
Define the scalar
\begin{align*}
c:=a_1(g) \in \mathbb{C}.
\end{align*}
The previous step proves that
\begin{align*}
a_n(g)=c\,a_n(f)
\end{align*}
for every $n \in \mathbb{N}$. Hence the Fourier expansions of $g$ and $cf$ agree coefficient by coefficient:
\begin{align*}
g(z)=\sum_{n=1}^{\infty} a_n(g)q^n
=
\sum_{n=1}^{\infty} c\,a_n(f)q^n
=
c f(z).
\end{align*}
Thus $g \in \mathbb{C}f$. Since $g \in E_f$ was arbitrary, we have
\begin{align*}
E_f \subseteq \mathbb{C}f.
\end{align*}
Together with $\mathbb{C}f \subseteq E_f$, this gives
\begin{align*}
E_f=\mathbb{C}f.
\end{align*}
Therefore
\begin{align*}
\dim_{\mathbb{C}}E_f=1.
\end{align*}
[/step]