Here's an elementary argument that holds whenever $ X $ is a topological space.
For any subset $ J \subset \mathbb N $, we define $ X_J = \{ x_n : n \in J \} $. Given an infinite subset $ J \subset \mathbb N $, we can identify a subsequence $ ( x_{ n_k } ) $ of $ ( x_n ) $ with each $ n_k $ coming from $ J $. In particular, the subsequence $ ( x_{ n_k } ) $ lies in $ X_J $. Applying the hypothesis, there exists a further subsequence $ ( x_{ n_{ k_l }} ) $ converging to $ x $, from which we conclude that $ x $ lies in $ \overline{ X_J} $, the closure of $ X_J $. This establishes that
$$
J \text{ infinite}
\quad \Longrightarrow \quad
x \in \overline{ X_J}
.
$$
Fix now a neighborhood $ U $ of $ x $ and consider the set $ J = \{ n \in \mathbb N : x_n \notin U \} $. Since $ X_J = \{ x_n : x_n \notin U \} $, the elements of $ X_J $ lie outside of $ U $, so they cannot get close to $ x $. More precisely, $ x $ does not lie in $ \overline{ X_J } $, and by the above, the set $ J $ must be finite. Consequently, every neighborhood $ U $ of $ x $ contains all but finitely many terms of the sequence, or the sequence $ ( x_n ) $ converges to $ x $.