The following proof begins by considering some simple cases, and then extends to the general case. The general case taken alone gives a short proof of the theorem, but the simple cases provide a motivation for it.
The general idea is to make use of the identity for multiplying out a product of bracketed terms, in which terms are selected one from each bracket and multiplied, and then these products summed over all the possible selections (applies to any ring) :
$$
(a^{(1)}_1 + \cdots + a^{(1)}_{l_1}) \cdots (a^{(n)}_1 + \cdots + a^{(n)}_{l_n}) = \sum_{1 \leq i_r \leq l_r,\; \forall r \in [1, n]} a^{(1)}_{i_1} \cdots a^{(n)}_{i_n}. \tag{1} \label{eq:mult-brackets}
$$
We also make use of the multiplicative property of the divisor sum function $\sigma$, which is readily derived using equation \eqref{eq:mult-brackets} : $\sigma(mn) = \sigma(m) \sigma(n)$, whenever $\gcd(m, n) = 1$.
Consider even perfect number $n = 2^{a-1}m$, where $m$ is odd and $a \geq 2$. Firstly note $m$ cannot be $1$ since $\sigma(n) = 2n$ then implies $2^a - 1 = 2^a$.
If $m$ is a prime $p$ then we must have $p = 2^a - 1$ since $2^a p = 2n = \sigma(n) = \sigma(2^{a-1}) \sigma(p) = (2^a - 1) (p + 1)$ giving $2^a = p + 1$.
Thus we only need to prove that $n$ cannot contain any more than a single odd prime of multiplicity 1.
Consider the case of 2 odd primes, ie $n = 2^{a-1} p q$ :
Then $2^a p q = 2n = \sigma(n) = (2^a - 1)(p + 1)(q + 1) \Rightarrow pq = (2^a - 1)(p + q + 1)$
$\Rightarrow p + q + 1 \mid pq \Rightarrow p + q + 1 = pq$ (since $p + q + 1$ is too big to be any other factor of $pq$). Then $2^a - 1 = 1$, a contradiction.
For the case of 3 odd primes, ie $n = 2^{a-1} p q s$, similarly we obtain :
$2^a p q s = 2n = \sigma(n) = (2^a - 1)(p + 1)(q + 1)(s + 1) \Rightarrow$
$pqs = (2^a - 1)(1 + p + q + s + pq + qs + ps) \Rightarrow (1 + p + q + s + pq + qs + ps) \mid pqs \Rightarrow (1 + p + q + s + pq + qs + ps) = pqs$, (since $1 + p + q + s + pq + qs + ps$ is too big to be any other factor of $pqs$). Then $2^a - 1 = 1$, a contradiction.
This leads to a general method for $r$ $(\geq 2)$ odd primes (each of multiplicity 1), ie $n = 2^{a-1}p_1p_2 \cdots p_r$. Then $2^ap_1 \cdots p_r = 2n = \sigma(n) = (2^a - 1)(1 + p_1) \cdots (1 + p_r)$. Then cancelling out the $2^ap_1 \cdots p_r$ term and bringing the $p_1 \cdots p_r$ term to the lhs and expanding the brackets we obtain :
\begin{eqnarray*}
p_1 \cdots p_r & = & (2^a - 1)(1 + \sum p_i + \sum p_i p_j + \cdots + \sum p_{i_1} \cdots p_{i_{r-1}}) \\
& = & (2^a - 1) \cdot l, \hspace{2em} \mbox{say.}
\end{eqnarray*}
Then $l \mid p_1 \cdots p_r$. But since $r \geq 2$, $l$ is strictly too large to be any other divisor of $p_1 \cdots p_r$ than $p_1 \cdots p_r$ itself, implying $2^a - 1 = 1$, a contradiction.
Finally we can extend to a general odd number $m = p_1^{a_1} \cdots p_r^{a_r}$ ($a_i \geq 1$), that is not a prime, ie $r \geq 2$ (or $r = 1$ with $a_1 \geq 2$). We have $2^a p_1^{a_1} \cdots p_r^{a_r} = 2n = \sigma(n) = (2^a - 1)(1 + \cdots + p_1^{a_1}) \cdots (1 + \cdots + p_r^{a_r})$. Thus multiplying out the brackets involving the $p_i$ (as in (\ref{eq:mult-brackets}) above) and separating out the top term :
$$
2^a p_1^{a_1} \cdots p_r^{a_r} = (2^a - 1)(l + p_1^{a_1} \cdots p_r^{a_r})
$$
where since $r \geq 2$ (or $r = 1$ with $a_1 \geq 2$ ), the number $l > p_1^{b_1} \cdots p_r^{b_r}$ for all powers $b_i \in [0, a_i]$, with at least one $b_i <a_i$. (Note in the case where $r = 1$ with $a_1 \geq 2$, we have $l = 1 + p_1 + \cdots + p_1^{a_1-1}$, which contains at least 2 terms.)
Then $p_1^{a_1} \cdots p_r^{a_r} = (2^a - 1) \cdot l \Rightarrow l \mid p_1^{a_1} \cdots p_r^{a_r} \Rightarrow l = p_1^{a_1} \cdots p_r^{a_r}$ since $l$ is strictly too large to be any other divisor. Then $2^a - 1 = 1$, a contradiction.