Real points of reductive groups and connected components
For every $\mathbb{R}$-scheme $X$ of finite type, $\pi_0(X(\mathbb{R}))$ is finite. This follows e.g. from Theorem 2.3.6 in Bochnak, Coste, Roy, Real Algebraic Geometry (basic structure theorem for semi-algebraic sets).
@LaurentMoret-Bailly gives an algebraic-geometry reference, which is much better than the one I'm about to give. My argument applies only to the quasi-split case. Its only (negligible) virtue is that it lets us exercise some structure theory of quasi-split groups.
Let $\mathbb B$ be a Borel subgroup of $\mathbb G$, with maximal torus $\mathbb T$. Then $\mathbb G$ is the (disjoint) union of the finitely many (indexed by the Weyl group $W \mathrel{:=} \mathrm W(\mathbb G, \mathbb T)$) double cosets of $\mathbb B$, so it's enough to show that each of those has finitely many connected components. Since, for $w \in W$, the double coset $\mathbb B w\mathbb B$ is isomorphic as a variety to $\prod_{\substack{\alpha > 0 \\ w\alpha < 0}} \mathbb U_\alpha \times \mathbb T \times \prod_{\alpha > 0} \mathbb U_\alpha$, where $\mathbb U_\alpha \cong \mathfrak{gl}_1$ denotes the root subgroup corresponding to $\alpha$ and positivity is taken with respect to $\mathbb B$, it suffices to show that $\mathbb T(\mathbb R)$ has finitely many connected components. Since $\mathbb T$ is the almost-direct product of an $\mathbb R$-split torus $\mathbb T_d$ and an $\mathbb R$-anisotropic torus $\mathbb T_a$, we have that $\mathbb T_d(\mathbb R) \times \mathbb T_a(\mathbb R)$ maps into $\mathbb T(\mathbb R)$ with finite cokernel $\operatorname H^1(\mathbb R, \mathbb T_d \cap \mathbb T_a)$, and since $\mathbb T_d(\mathbb R) \cong (\mathbb R^\times)^{\operatorname{rank} \mathbb T_d}$, it suffices to prove that $\mathbb T_a(\mathbb R)$ has finitely many connected components.
Now maybe a real real-group theorist would know that $\mathbb T_a$ is a product of circle groups $\mathbb S^1 \mathrel{:=} \ker(\operatorname{Res}_{\mathbb C/\mathbb R}\operatorname{GL}_1 \to \operatorname{GL}_1)$, but I am a $p$-adicist, so I have to notice that $\operatorname{conj} + 1$ maps $\mathrm X^*(\mathbb T_a)$ into $\mathrm X^*(\mathbb T_a)^{\operatorname{conj}} = \{0\}$, whence $\mathrm X^*(\mathbb T_a)$ is, not just as a group but as a $\mathrm{Gal}(\mathbb C/\mathbb R)$-module, a direct sum of copies of $\mathrm X^*(\mathbb S^1)$; so $\mathbb T_a$ is (as an $\mathbb R$-torus) a product of copies of $\mathbb S^1$, so $\mathbb T_a(\mathbb R) \cong \prod \mathbb S^1(\mathbb R) = \prod \mathrm S^1$, which is connected.
Suppose $G$ is a complex reductive group (not necessarily connected), defined over $\mathbb R$.
1) $G(\mathbb R)=K\text{exp}(\mathfrak p)$ where $K$ is a maximal compact subgroup of $G(\mathbb R)$. This is the Cartan decomposition; for disconnected $G$ this is due to Mostow. So $G(\mathbb R)$ is homotopically equivalent to $K$.
2) Every compact group has a canonical (reductive, algebraic) complexification (Chevalley) with the same component group.
3) Every algebraic complex group has finitely many components.
This gives a conceptual, though not necessarily elementary, proof, and it isn't necessary that $G$ is connected. If $G$ is connected one can say a bit more: $G(\mathbb R)/G(\mathbb R)^0$ is an elementary two-group ($\simeq (\mathbb Z/2\mathbb Z)^n)$.