ZF and and the number of non-principal ultrafilters ZF (if consistent) has models where $\omega$ supports no non-principal ultrafilters and others where it supports $2^c$ such.  Can other cardinals occur?  Or does the existence of just one somehow entail the existence of $2^c$.
 A: Let me start things off by observing that if there is an
ultrafilter on $\omega$, then there are at least $2^\omega$
many ultrafilters, as follows. By labeling the nodes of the
tree $2^{\lt\omega}$ one can build a family of continuum
many infinite subsets of $\omega$ with pairwise finite
intersection (an almost disjoint family). Each set in the family 
is isomorphic to $\omega$, and hence has the induced
isomorphic ultrafilter, but since these sets are almost
disjoint, they give rise to distinct ultrafilters on
$\omega$.
In this way, one builds continuum many ultrafilters from one, without using AC.
To get $2^c$ many ultrafilters, however, the ZFC argument I know uses well-orders in a strong way, and so I'm not sure how one might do it without any AC. I guess by $2^c$ one should mean a bijection between the collection of ultrafilters and $P(\mathbb{R})$. 
A: Much of the following is David Feldman's argument in one of the comments, but with the topology replaced by combinatorics.  There is, however, one slightly tricky point, arising from the fact that, in the absence of choice, the existence of a surjection from one set to another does not imply that the former set has at least the same cardinality as the latter.
Without any form of choice, we can get a family $X$ of $c$ independent subsets of $\omega$ (where "independent" means that the intersection of any finitely many of these sets and the complements of any finitely many others is infinite).  Then any subfamily $Y$ of $X$ gives rise to the filter $F(Y)$ generated by the sets in $Y$ and the complements of the sets in $X-Y$.  These filters are pairwise incompatible (i.e., the union of any two contains two complementary subsets of $\omega$), so no ultrafilter extends more than one of the $F(Y)$'s.  Thus, we have a function $f$ assigning to each ultrafilter $U$ on $\omega$ the unique $F(Y)$ included in $U$ (or some fixed $F(Y)$, say $F(X)$, if $U$ includes no $F(Y)$).  
Now if we assume the Boolean Prime Ideal Theorem (without which we're not guaranteed any nontrivial ultrafilters), we can extend each $F(Y)$ to an ultrafilter and thereby conclude that $f$ maps onto the whole set of $F(Y)$'s, a set of size $2^c$.  By itself, that doesn't yet ensure that there are at least $2^c$ ultrafilters on $\omega$; existence of a surjection from one set to another does not in general (without choice) imply existence of an injection in the other direction.  
In this case, however, it seems that BPIT enables us to select, for each $Y\subseteq X$, one ultrafilter extending $F(Y)$.  That will give a one-to-one map from the set of $2^c$ $Y$'s into the set of ultrafilters.  To prove that BPIT gives the desired selection, proceed as follows.  Let $P$ be the product of $2^c$ copies of $\omega$, indexed by the subsets $Y$ of $X$; let $p_Y$ be the projection from $P$ to the $Y$'th factor $\omega$.  For each $Y$, the filter $F(Y)$ can be "cylindrified" to produce the filter $F'(Y)$ on $P$  generated by the sets ${p_Y}^{-1}(A)$ for $A\in F(Y)$.  These filters $F'(Y)$, for all $Y\subseteq X$, are coherent; their union generates a filter $F''$ on $P$.  By BPIT, there is an ultrafilter $U$ on $P$ extending $F''$.  The projections $p_Y(U)=\{A\subseteq\omega:{p_Y}^{-1}(A)\in U\}$ are ultrafilters on $\omega$ extending the corresponding $F(Y)$.
Conclusion: BPIT implies the existence of $2^c$ ultrafilters on $\omega$.
