Does every subgroup of finite index contain a power of each element of the group?

Yes.

The set $\{ H, gH, g^2H, \dots , g^nH \}$ has $n+1$ elements, so that two of them are equal ( $H$ has only $n$ right cosets).

From $$g^aH=g^bH$$ it follows that $g^{a-b} \in H$.


For another proof (though it only answers the title as the $n$ we get is not $[G:H]$)

Let $H$ be a finite index subgroup. Then $G$ acts on $G/H$ by left translation, and so we have a morphism $\rho : G\to \mathfrak{S}G/H$.

Its kernel $K$ is contained in $H$ : indeed if $x\in K$, then $H= \rho(x)(H)= xH$, so $x\in H$. Moreover, $K$ is normal (it's a kernel !), and it has finite index in $G$ (because $G/K\simeq \mathrm{Im}\rho \subset \mathfrak{S}G/H\simeq \mathfrak{S}_{|G/H|}$).

Thus if $x\in G, x^n\in K$ for some $n$, thus $x^n\in H$ for some $n$. Note, however, that $n$ is not necessarily $[G:H]$; and the proof I gave only gives the bound $[G:H]!$ for $n=[G:K]$.