Here's a proof I saw for the uncountability of infinite $\sigma$-algebras. This is also a problem in Rudin's RCA.
In several places, the author has used that if $|\mathfrak N| = c$, then $|\mathfrak M| = 2^c$. I'm unable to prove this. Could someone please help?

For the infinite case (which is the harder one), all you need for this proof is:
Proof: Let $\mathcal{P} (\mathfrak N)$ be the set of all subsets of $\mathfrak N$. Let $f: \mathcal{P} (\mathfrak N) \rightarrow \mathfrak M$ defined by $f(E) = \bigcup_{S \in E}S$.
Since $\mathfrak N$ is a countable, $E$ is countable and we have $f(E) = \bigcup_{S \in E}S \in \mathfrak M$.
Since $\mathfrak N$ is a collection of non-empty pairwise disjoint sets, we have that $f$ is injective (one-to-one).
So, $|\mathfrak M| \geqslant 2^{|\mathfrak N|}$.$\square$
Remark 1: For the finite case, we must first note that $\mathfrak M = \sigma(\mathfrak N)$ (which means that the $\sigma$-algebra $\mathfrak M$ is generated by $\mathfrak N$). In fact, if $\mathfrak N$ is finite (resp. countable), any set in $\mathfrak M$ is a finite (resp. countable) union of sets in $\mathfrak N$.
Then, we can either prove the finite case directly, or we can just use a slight variation of the result above (which also includes the countable case):
Proof: we define $f$ as in the previous proof. The $f$ is well-defined and injective. Now, since $\mathfrak M = \sigma(\mathfrak N)$, it is easy to show that $f$ is also surjective (onto). So, $|\mathfrak M| = 2^{|\mathfrak N|}$. $\square$
Remark 2: Here is the direct proof of the finite case:
Direct Proof for the finite case: Since $\mathfrak N$ is finite and the sets in $\mathfrak N$ are disjoint, it is easy to see that there are $2^{|\mathfrak N|}$ possible unions of sets in $\mathfrak N$. Each of them are in $\mathfrak M$ and each set in $\mathfrak M$ is one of them. So, $|\mathfrak M| = 2^{|\mathfrak N|}$. $\square$