I have a proof that does not use that $\mathcal{D}$ is locally small, so it's probably incorrect, but I do not see the mistake.
Proof
Let $F, G$ be two functors from $\mathcal{C}$ to $\mathcal{D}$. We define $m: Nat(F, G) \to Set$ to be $m(\alpha) = \{\alpha_c \ | \ c \in \mathcal{C} \}$. This is well defined because $\mathcal{C}$ is small. If $m(\alpha) = m(\beta)$, then $\alpha_c = \beta_{c'}$ for some $c, c' \in \mathcal{C}$. As $\alpha_c, \beta_{c'}$ are morphisms from $Fc \to Gc$ and $Fc' \to Gc'$ respectively, we must have that $c = c'$. So $\alpha_c = \beta_c$ for all $c \in C$. We conclude that $\alpha = \beta$ and that $m$ is an injection. So $Nat(F, G)$ must be a set.
Each $\alpha_c$ belongs to ${\mathcal D}(Fc,Gc)$, which is a set only if you assume that ${\mathcal D}$ is locally small. In particular, $\prod\limits_{c\in{\mathcal C}} {\mathcal D}(Fc,Gc)$ - to which $m(\alpha)$ belongs - is guaranteed to be a set if only if ${\mathcal D}$ is locally small.