I take the Completeness Theorem to be saying the following:
Any consistent, countable set of sentences has a model whose domain only contains natural numbers.
But something feels off when I apply this to a domain which is finite. Suppose my domain is $D=\{d_1,\ldots, d_m\}$ and I have a model $\mathcal{M}$. Then $\mathcal{M}\models \textrm{'there are exactly m objects'}$ or more formally,
$$\mathcal{M} \models \forall y \exists x_1 \ldots \exists x_m (x_1\neq x_2 \wedge \ldots \wedge x_{m-1}\neq x_m \wedge (y=x_1 \vee y=x_2\vee \ldots \vee y=x_m))$$
But surely $\mathcal{M}$ also satisfies the sentence which says "It is not the case there are $m+1$ objects" and "It is not the case there are $m+2$ objects" and so on. So I have a countable set of sentences which are in fact consistent; therefore, it seems by the Completeness Theorem that there is a model $\mathcal{N}$ whose domain contains only natural numbers $N$. But if this is the case, then in particular it has to still satisfy the sentence "there are exactly m objects" but wait $\mathcal{N}$ definitely does NOT satisfy this. Where's my mistake?
The completeness theorem says that there must be a model that is countable or finite.
The statement
does not say
It says "only contains natural numbers." This means that the domain is a subset of the natural numbers. This includes finite subsets.