The question was also posted to Reddit where it was answered. See here for the original answer.
I'll reproduce the proof here for completeness.
Enumerate the points of our metric space as $x_1, x_2, x_3, ....$ Let $X_n$ be the subspace with points ${x_1, ..., x_n}$. Let $B_{n, 1}, B_{n,2}, B_{n,3}$ be three subsets of $X_n$ of diameter at most $1$ that cover $X_n$. We want to construct sets $B_1, B_2, B_3$ of diameter at most $1$ that cover $X$. This is how we proceed.
First, we decide where $x_1$ goes. Select an index $i$ such that $x_1$ is in infinitely many of the $B_{n,i}$. Put $x_1$ in $B_i$.
Next we decide where $x_2$ goes. Select an index $j$ such that for infinitely many $n$, $x_1$ is in $B_{n,i}$ and $x_2$ is in $B_{n,j}$. Put $x_2$ in $B_j$.
The idea for $x_3$ is the same. Select an index $k$ such that for infinitely many $n$, $x_1$ is in $B_{n,i}$ and $x_2$ is in $B_{n,j}$ and $x_3$ is in $B_{n,k}$. Put $x_3$ in $B_k$. Repeat this to decide which $B$ every point of $X$ goes in.
$B_1, B_2, B_3$ cover $X$ because for every point of $X$ we've decided on a $B$ to put them in. Furthermore each $B$ has diameter at most $1$. Say $x_{i'}$ and $x_{j'}$ are both in $B_{k'}$. Then for infinitely many $n$, $x_{i'}$ and $x_{j'}$ are both in $B_{n,k'}$. Since $diam(B_{n,k'}) \leq 1, d(x_{i'}, x_{j'}) \leq 1$ so $diam(B_{k'}) \leq 1$.