A standard proof can be found here. Basically, the idea is to prove the contrapositive:
Let $A\subseteq X$. If $X$ is compact and $A$ doesn't have any limit point, then A is finite.
Since A has no limit points, for each $a\in A$, there exists a neighboorhood $U_a$ such that $U_a\cap A = \{a\}$. $\{X-A\}\cup\{U_a:a\in A\}$ forms an open cover of $X$. By compactness of $X$, only finitely many covers $X$. Because $X-A$ and $A$ are disjoint, A must be finite.
However, the above proof seems to rely on the axiom of choice, since we need to choose a neighborhood $U_a$ for each $a \in A$, and there isn't any definite way to do so.
So can somebody clarify whether AC is necessary here? If not needed, please provide an alternative proof. Thanks in advance.
It does not require the Axiom of Choice.
For every $a\in A$, set $$ \mathcal W_a=\big\{U\subset X: U \,\text{open}\,\,\&\,\,U\cap A=\{a\} \big\} $$ clearly $\mathcal W_a\ne\varnothing$ and its definition DOES NOT require the Axiom of Choice.
Then set $U_a=\bigcup \mathcal W_a$.
Now, $\mathcal W=\{U_a: a\in A\}$ is a cover without a finite subcover, and it is defined without appealing to the AC.