If no finite subcollection of $\{G_{n}\}$ covers X, then $F_{1} = G_{1}^{c}\neq\emptyset$, so choose $x_{1}\in F_{1}$. Having chosen $x_{1}, . . .,x_{j} \in X$, choose $x_{j+1} \in X$, if possible, so that $x_{j+1} \in F_{j+1} \setminus \{x_{1}, ...,x_{j}\}$. If I prove that this process must not stop after a finite number of steps, then you will get distinct $x_{n}'s$ and the set E will be infinite.
suppose this process stops after a finite number of steps, say k, then $F_{k+1}\setminus \{x_{1},...,x_{k}\}=\emptyset$. Then $G_{1}\cup ....\cup G_{k+1}\cup\{x_{1},...,x_{k}\}=X$. Since $\{G_{n}\}$ covers X, there exists $G_{m_{i}}$ such that $x_{i}\in G_{m_{i}}$ for $i = 1,...,k$. Now $G_{1}\cup ...\cup G_{k+1}\cup G_{m_{1}}\cup ...\cup G_{m{k}} = X$, a contradiction.
IIRC Rudin defines a limit point of $E$ as a point $x$ such that $B(x,r) \cap (E \setminus \{x\}) \neq \emptyset$ for every $r>0$. He then has a lemma of sorts that shows that :
If $x$ is a limit point of $E$, then for each $r>0$, $B(x,r) \cap E$ is infinite.
This uses the fact that all finite subsets of a metric space are closed.
Then to the proof: suppose that $G_n, n \in \mathbb{N}$ is a countable open cover without a finite subcover. The no finite subcover condition allows us to take a point $x_1 \notin G_1$ ,$x_2 \notin G_1 \cup G_2$, and in general $x_n \notin \cup_{i=1}^n G_i$. Then define $E = \{x_n: n \in \mathbb{N}\}$ which is an infinite set. By assumption $E$ has a limit point $p$.
This $p$ is covered, so for some $m$, $ \in G_m$, and as $G_m$ is open, for some $r>0$, $B(p,r) \subset G_m$. Now, for all $n>m$, by construction $x_n \notin \cup_{i=1}^n G_i$, so in particular $x_n \notin G_m$(as $n > m$), so $x_n \notin B(p,r)$.
So $B(p,r) \cap E \subset \{x_n: n \le m\}$, as all $x_n$ with larger index have been ruled out above. So $B(p,r) \cap E$ is finite. So by the first paragraph's equivalence, $p$ cannot be a limit point of $E$. Contradiction.
So $X$ is countably compact: every countable open cover has a finite subcover.
As you already know that $X$ has a countable base we can thin out any open cover of $X$ to a countable one first, and a finite one now, so compactness has been shown.
It's important to work with the infinite intersection variant of limit points here.
Best Answer
Let $\mathscr{B}$ be a countable base for $X$, and let $\mathscr{U}$ be an open cover of $X$. For each $x\in X$ there is a $U_x\in\mathscr{U}$ such that $x\in U_x$, and there is a $B_x\in\mathscr{B}$ such that $x\in B_x\subseteq U_x$. Let $\mathscr{B}_0=\{B_x:x\in X\}$; clearly $\mathscr{B}_0$ is a countable cover of $X$. The construction of $\mathscr{B}_0$ ensures that for each $B\in\mathscr{B}_0$ there is a $U_B\in\mathscr{U}$ such that $B\subseteq U_B$; let $\mathscr{V}=\{U_B:B\in\mathscr{B}_0\}$. I claim that $\mathscr{V}$ is a countable subcover of $\mathscr{U}$.