$(X,d)$ is separable if and only if $X$ does not contain an uncountable closed discrete subset

I gave a comprehensive answer here where this is generalised to all cardinals, not just $\aleph_0$.

If you follow the reasoning there, then I first show that the fact that all closed and discrete sets are at most countable implies that all discrete sets are at most countable (in a metric space, or more generally a perfectly normal space). This in turns implies that all families of non-empty pairwise disjoint open sets is at most countable and then a simple Zorn argument gives us a countable dense subset.

In detail that would amount to:

Suppose that $(X,d)$ has the property that every uncountable subset $A$ of $X$ has a limit point in $X$.

Then, fix $r>0$. Define the poset $\mathscr{P}_r$ of all subsets $A$ of $X$ such that

$$\forall x,y \in A: x \neq y \implies d(x,y) \ge r$$

ordered by inclusion. Then this poset, quite standardly, satisfies the condition of Zorn's lemma: let $\mathcal{A}$ be a chain in this poset. Then $A:=\bigcup \mathcal{A}$ is also in this poset, and is an upperbound for $\mathcal{A}$. The last part is obvious, and for the first we have to take two distinct elements $a_0, a_1 \in \bigcup \mathcal{A}$. So there are $A_0, A_1 \in \mathcal{A}$ such that $a_0 \in A_0, a_1 \in A_1$ (def. of union) and as $\mathcal{A}$ is a chain, $A_0$ and $A_1$ are comparable in the inclusion order, so $A_0 \subseteq A_1$ or $A_1 \subseteq A_0$. Whatever be the case, there is one $A_i \in \mathcal{A}$ such that $a_0, a_1 \in A_i$ and so we know (as $A_i$ is in our poset) that $d(a_0,a_1) \ge r$, as required. So $A$ is in $\mathscr{P}_r$. Now we can apply Zorn's lemma and conclude that there is a maximal element $M(r)\subseteq X$ in our poset.

Now if $x \notin M(r)$ then we know by maximality that $M(r) \cup \{x\}$ cannot be in $\mathscr{P}_r$, so it cannot obey the $r$-distance property, and so there are two points in $M(r) \cup \{x\}$ that are distance $< r$ apart, and these cannot both be from $M(r) \in \mathscr{P}_r$, so one of must be $x$:

$$ \forall x \notin M(r): \exists y \in M(r): d(x,y) < r$$

i.e. we have found a very dense family of points that are at least $r$ apart. In fact this fact holds for all $x \in X$, we just take $x$ itself if needed.

Another fact: $M(r)$ does not have a limit point. If it did, say $p$ were a limit point, then $B(p, \frac{r}{2})$ would intersect at least two (in fact infinitely many) points of $M(r)$, say $x_1,x_2$ but then $d(x_1,x_2) \le d(x_1,p) + d(p,x_2) <r$ contradicts our $r$-distance property. So no limit point can exist. So it follows that $M(r)$ is countable for each $r>0$ and then we note that the maximality property gives us that $$D = \bigcup_{n=1}^\infty M(\frac{1}{n})$$ is countable (as a countable union of countable sets) and dense: for every $x$ and every $n$ there is some $y \in D$ with $d(x,y) < \frac1n$.


Okay, so I think I have a solution to my question. Here is an overly detailed proof:

Suppose $X$ does not contain an uncountable subset with no limit points so that every subset with no limit points is countable. Let $n\in\mathbb{Z}^+$ and let $\mathcal{A}_n=\{Y\subset X:\forall x,y\in Y, d(x,y)\geq\frac{1}{n}\}$. I claim $\mathcal{A}_n$ has a maximal element under the subset relation. Let $\{C_i:i\in I\}$ be a totally ordered chain in $\mathcal{A}_n$ and consider $\cup_{i\in I}C_i$. Let $x,y\in \cup_{i\in I}C_i$ so that $x\in C_i$ and $y\in C_j$ for some $i,j\in I$. Since $\{C_i:i\in I\}$ is totally ordered, either $C_i\subset C_j$ or $C_j\subset C_i$. Assume without loss of generality that $C_i\subset C_j$ so that $x,y\in C_j$. Since $C_j\in\mathcal{A}_n$, this means $d(x,y)\geq\frac{1}{n}$. Thus $\cup_{i\in I}C_i\in\mathcal{A}_n$ and is an upper bound on $\{C_i:i\in I\}$ under the subset relation, so by Zorn's Lemma, $\mathcal{A}_n$ has a maximal element. Let $D_n$ denote such a maximal element for each $n\in\mathbb{Z}^+$.

Now, I claim $D_n$ has no limit points. Assume $D_n$ has a limit point $x\in X$. Then the open ball $B_d(x,\frac{1}{2n})$ must intersect $D_n\setminus\{x\}$. Note that $B_d(x,\frac{1}{2n})$ cannot contain more than one element of $D_n$, for any two elements in $B_d(y,\frac{1}{2n})$ must be within a distance $\frac{1}{n}$ of each other by the triangle inequality. Let $y$ be the single element of $B_d(x,\frac{1}{2n})\cap D_n\setminus\{x\}$. Then $B_d(x,d(x,y))$ is an open neighborhood of $x$ which is disjoint from $D_n$ contradicting the assumption that $x$ is a limit point of $D_n$. Thus, $D_n$ contain no limits points which, by assumption, means that $D_n$ is countable.

Finally, I claim $D=\cup_{n\in\mathbb{Z}^+}D_n$ is a countable dense subset of $X$. We see immediately that $D$ is countable since it is a countable union of countable sets. Let $x\in X$ and assume $x\notin\overline{D}$. Then there exists $\epsilon>0$ such that $B_d(x,\epsilon)$ is disjoint from $D$. Let $n\in\mathbb{Z}^+$ such that $\frac{1}{n}\leq\epsilon$. Then, because $B_d(x,\epsilon)\cap D=\emptyset$, for all $y\in D_n$, $d(x,y)\geq\frac{1}{n}$. Then that implies $D_n\cup\{x\}\in\mathcal{A}_n$, contradicting the maximality of $D_n$. Thus, we conclude that $D$ is a countable dense subset of $X$ so that $X$ is separable.