A slightly different version of the same basic idea as Stefan’s proof may prove more intuitive for some. Let $M$ be the metric space. I too first want to get a maximal well-ordered subchain \mathcal{A}' of $\mathcal{A}$; I’ll comment on that below, but for now assume that I have one. Just as in Stefan’s proof, its maximality ensures that \bigcup\mathcal{A}'=\bigcup\mathcal{A}.
Now for each A \in \mathcal{A}' let $A^+$ be the successor of $A$ in the well-ordered chain \mathcal{A}', choose a point $x_A \in A^+\setminus A$, and let X = \{x_A:A \in \mathcal{A}'\}.) For convenience write $x_A \preceq x_B$ iff $A \subseteq B$; $X$ is well-ordered by $\preceq$.
A separable metric space is hereditarily separable (for instance because it’s second countable), so $X$ has a countable dense subset $D$: every open set in the space that meets $X$ must also meet $D$. If there were some $x_A \in X$ such that $x \prec x_A$ for every $x \in D$, then $M\setminus A$ would be an open set containing $x_A$ and disjoint from $D$. This is impossible, so $D$ must be cofinal (unbounded) in $X$ with respect to $\preceq$. This clearly implies that \bigcup\limits_{x_A \in D} A = \bigcup \mathcal{A}', so \{A \in \mathcal{A}':x_A \in D\} is the desired countable subset of $\mathcal{A}$.
Concerning the construction of \mathcal{A}': If you use Zorn’s lemma to get \mathcal{A}', note that you want to order the family of well-ordered subchains of $\mathcal{A}$ by extension, not by simple inclusion: \mathscr{C} \preceq \mathscr{C}' iff $\mathscr{C}$ is an initial segment of \mathscr{C}'. For those familiar with ordinals it may be simpler to construct \mathcal{A}' recursively. Suppose that $\alpha$ is an ordinal, and that we’ve chosen $A_\xi \in \mathcal{A}$ for each $\xi < \alpha$ in such a way that $A_\xi \subsetneq A_\eta$ whenever $\xi < \eta < \alpha$. If $\bigcup\mathcal{A} \setminus \bigcup\limits_{\xi<\alpha}A_\xi \ne \varnothing,$ there is an $A_\alpha \in \mathcal{A}$ such that $A_\alpha \setminus \bigcup\limits_{\xi<\alpha}A_\xi \ne \varnothing,$ and the recursion continues; if not, we’re done, and \mathcal{A}' = \{A_\xi:\xi<\alpha\} is the desired subchain.