Both arguments are actually the same.
Cantor's theorem is logically equivalent to (after pushing negation all the way inside the formula) $\forall S \; \forall (f \in \mathcal P(S)^S) \; \exists (Y \in \mathcal P(S)) \; \forall (x \in S) \; f(x) = Y \implies \bot$.
Cantor's proof goes by defining $Y \in P(S)$ by $Y = \{x \in S / x \notin f(x)\}$. Then for any $x \in S$, $f(x) = Y$ implies that $x \in f(x) \Leftrightarrow x \in Y \Leftrightarrow x \notin f(x)$ which is a contradiction. Notice how we never used the fact that the range of $f$ was $\mathcal P(S)$ so what Cantor actually proves is $\forall S \forall T \; \forall (f \in T^S) \; \exists (Y \in \mathcal P(S)) \; \forall (x \in S) \; f(x) = Y \implies \bot$, which means that $\mathcal P(S)$ is never a subset of the image of a function defined on $S$.
Russel's theorem is logically equivalent to (after pushing negation all the way inside the formula) $\forall S \; \exists Y \; Y \in S \implies \bot$.
Russel's proof goes by defining the set $Y$ by $ Y = \{ x \in S / x \notin x\}$ (and notice that $Y \in \mathcal P(S))$. Then if $Y \in S$ you get that $Y \in Y \Leftrightarrow Y \notin Y$, which is a contradiction.
So what Russel actually proves is this : $\forall S \; \exists (Y \in \mathcal P(S)) \; Y \in S \implies \bot$, which means that $\mathcal P(S)$ is never a subset of $S$
Now, your proof of Russel's theorem via Cantor's proof goes like this :
pick $T=S$ and $f : S \to S$ defined by $f(x)=x$. As in Cantor's proof, pick $Y = \{x \in S / x \notin f(x)\} = \{x \in S / x \notin x\}$. Then $Y \neq f(x)$ for any $x \in S$, which implies that $Y \notin S$ : if $Y \in S$, you deduce that $Y \in Y \Leftrightarrow Y \notin f(Y)=Y$, so you get a contradiction. But this is exactly Russel's proof.
So Russel's proof of Russel's theorem is a direct application and reduction of Cantor's proof of Cantor's theorem