Suppose not. Then there exists some $\varepsilon>0$ such that for all finite subsets $F \subseteq X$, $\cup_{x \in F} B(x,\varepsilon) \neq X$.
So start by picking $x_0 \in X$. By the above fact about $\varepsilon$, take $F = \{x_0\}$ and so we have that $B(x_0, \varepsilon) \neq X$, so pick $x_1$ with $d(x_1,x_0) \ge \varepsilon$. Use recursion:
Now suppose we have already picked $x_0,\ldots,x_n$ such that $d(x_i, x_j) \ge \varepsilon$ for all $i \neq j$ in $\{0,\ldots,n\}$. Use the property again for $F = \{x_0,\ldots,x_n\}$, and pick $x_{n+1} \in X \setminus \cup_{x \in F} B(x, \varepsilon)$. Then $d(x_{n+1},x_i) \ge \varepsilon $ for all $i \in \{0,\ldots,n\}$ and the other mutual distances are already OK. So $\{x_0,\ldots,x_n,x_{n+1}\}$ is as required.
This defines a sequence $(x_n)$ such that all distances between distinct elements are at least $\varepsilon > 0$. Now show that such a sequence cannot have a convergent subsequence (or even a Cauchy subsequence), because the distances then tend to $0$ on a subsequence. This contradicts (sequential) compactness.