Hereafter, "ultrafilter" is intended to mean "nonprinicpal ultrafilter on the set, $\omega$, of natural numbers."
An ultrafilter $U$ is Ramsey if for every partition $P$ of $\omega$ into sets not in $U$, there is a set $a\in U$ such that $\forall p\in P, \vert{a\cap p}\vert = 1$.
If we assume the CH, one can construct a Ramsey ultrafilter by enumerating all paritions $\langle P_\alpha : \alpha<\omega_1\rangle$, and iteratively choosing infinite generating sets, $X_{\alpha+1}\subseteq X_\alpha$ such that either $X_{\alpha+1}\subset p$ for some $p\in P_\alpha$ or $\vert X_{\alpha+1}\cap p\vert \leq 1$ for all $p\in P_\alpha$. Because each limit stage $\beta$ is only countable we can find a set $X_\beta$ that is almost contained in $X_\alpha$ for each $\alpha<\beta$.
In fact, the construction above can be used to produce $\aleph_1$ distinct Ramsey ultrafilters: for a suitable $P_0$, there are $\aleph_1$ choices for $X_1$ that lead to distinct ultrafilters.
On the other hand, I believe that there are at least $2^\frak{c}$ ultrafilters: pick any almost disjoint family $\cal{A}$ of size $\frak{c}$, then for each $S\in \mathscr{P}(A)$ let $U_S$ be any ultrafilter containing $\{A\in S\}\cup\{\omega\setminus A: A\in \cal{A}\setminus S\}$.
My question is: when Ramsey ultrafilters exist, how many exist? Specifically I'm interested in the situation under the (G)CH.
Can the construction above be observed to produce the maximum number of ultrafilters? Or at least more than $\aleph_1$?