As explained in the comments,

* every tree has countably many or $2^\omega$ branches,

* there are trees with $2^\omega$ branches of any growth rate $f(n)\ge n+1$, and

* if nodes can have arbitrarily many children, there are countable trees of arbitrary growth rate.

As Joel already mentioned, the question that remains is for which growth rates $f(n)$ there exist trees of branching at most $2$ with countably many branches.

Now, even for this question, the absolute growth rate is largely irrelevant, what really matters is how $f(n+1)$ relates to $f(n)$, as demonstrated by the following fact:

>**Theorem:** For every $\epsilon>0$, there is a suitable growth function $f(n)\le(2+\epsilon)n$ such that every binary tree of growth rate $f(n)$ has $2^\omega$ branches.

**Proof:** For any infinite set $A\subseteq\omega$, define a growth function $f_A\colon\mathbb N\to\mathbb N$ by $f_A(1)=1$, and
$$f_A(n+1)=\begin{cases}2f(n)&n\in A,\\f_A(n)+1&\text{otherwise.}\end{cases}$$
If $T$ is a tree of growth rate $f_A(n)$, then all paths split at levels $n\in A$, hence the tree is perfect. On the other hand, by making $A$ sufficiently sparse, we can ensure $f_A(n)\le(2+\epsilon)n$: if $A=\{a_k:k\in\omega\}$ is an increasing enumeration, we will have $f(n)=n+c_k$ for $a_k\le n<a_{k+1}$, where $c_k$ is a constant depending on $a_0,\dots,a_k$.  It suffices to choose $a_{k+1}>2c_k/\epsilon$.