Here's a rephrasing of the theorem (which I believe is due to Bernhard Neumann):
If we can write a group $G$ as a finite union of cosets of subgroups, then at least one of the subgroups has finite index in $G$.
In other words, if $K_1,\ldots,K_m$ are subgroups of $G$, not necessarily distinct, and $g_1,\ldots,g_m$ are elements of $G$ such that $G = K_1g_1\cup\cdots\cup K_mg_m,$ then at least one of the $K_i$ is of finite index in $G$.
Now, to prove this, let us assume that $G$ is a union of cosets, as written. Since the same subgroup may appear more than once, we will rewrite the union by putting equal subgroups together. So let us say that there are actually only $n$ distinct subgroups that appear, and call them $H_1,\ldots,H_n$; in other words, $H_i\neq H_j$ if $i\neq j$, and for each $i$, $1\leq i\leq m$, there exists $j$ such that $K_i=H_j$. We rename the $g_j$ as well, by indexing them with two indices, one relating to the subgroup, one to the coset in the subgroup. That is, $\begin{align*} G &= K_1g_1\cup\cdots\cup K_mg_m\\ &= H_1a_{11} \cup H_1a_{12}\cup\cdots\cup H_1a_{1n_1}\\ &\quad \cup H_2a_{21} \cup H_2a_{22}\cup\cdots \cup H_2a_{2n_2}\\ &\vdots\\ &\quad \cup H_n a_{n1} \cup H_na_{n2}\cup\cdots\cup H_n a_{nn_n}. \end{align*}$ And we can write that as $G = \bigcup_{i=1}^n \bigcup_{j=1}^{n_i} H_ia_{ij}.$
(I haven't done anything, I've just rewritten the "$G$ is a finite union of cosets of subgroups" into the same form as the statement you have).
The proof is going to be done by induction on the number of distinct subgroups that show up (this is what $n$ counts).
If $n=1$, then we are writing $G$ as a finite union of cosets of a single subgroup. Since the cosets of $H_1$ partition $G$, and $G$ equals the union of $n_1$ cosets, then the index of $H_1$ in $G$ is at most $n_1$ (there could be repeats among the cosets); but in any case, $[G:H_1]\leq n_1$.
Now assume that the result holds when there are strictly less than $n$ distinct subgroups involved, and that $G$ is a union of finitely many cosets of $n$ subgroups. Look at $H_n$. If $[G:H_n]$ is finite, we are done: at least one of the subgroups has finite index. So let us assume that $[G:H_n]=\infty$.
Because $H_n$ has infinite index, no finite union of cosets of $H_n$ can equal $G$, or even "miss" only finitely many elements of $G$; so $H_na_{n1}\cup\cdots\cup H_na_{nn_n}$ must "miss" infinitely many cosets of $H_n$ in $G$. In particular, there exists $g\in G$ such that $H_ng\cap (H_na_{n1}\cup\cdots\cup H_na_{nn_n})=\varnothing$. Since $G = \bigcup_{i=1}^n \bigcup_{j=1}^{n_i} H_ia_{ij},$ it must be the case that $H_ng \subseteq \bigcup_{i=1}^{n-1}\bigcup_{j=1}^{n_i} H_ia_{ij}.$ Multiplying on the right by $g^{-1}a_{nj}$ we get $H_na_{nk} \subseteq \bigcup_{i=1}^{n-1}\bigcup_{j=1}^{n_i} H_i(a_{ij}g^{-1}a_{nk})$ for $k=1,\ldots,n_n$.
For simplicity, rename $a_{ij}g^{-1}a_{nk}$ as $t_{ijk}$. Then $H_na_{n1}\cup\cdots \cup H_na_{n_n} \subseteq \left(\bigcup_{i=1}^{n-1}\bigcup_{j=1}^{n_i}H_it_{ij1}\right) \cup\cdots\cup \left(\bigcup_{i=1}^{n-1}\bigcup_{j=1}^{n_i} H_it_{ij(n-1)}\right).$ That means that we can write $G$ as: $\begin{align*} G &= \bigcup_{i=1}^n\bigcup_{j=1}^{n_i} H_ia_{ij}\\ &= \left(\bigcup_{i=1}^{n-1}\bigcup_{j=1}^{n_i} H_ia_{ij}\right)\cup \left(\bigcup_{j=1}^{n_n}H_na_{ij}\right)\\ &= \left(\bigcup_{i=1}^{n-1}\bigcup_{j=1}^{n_i} H_ia_{ij}\right)\\ &\qquad \cup \left(\bigcup_{k=1}^{n_n}\bigcup_{i=1}^{n-1}\bigcup_{j=1}^{n_i} H_it_{ijk}\right). \end{align*}$ But this expresses $G$ as a finite union of cosets of $n-1$ distinct subgroups. By the induction hypothesis, at least one of the subgroups $H_1,\ldots,H_{n-1}$ must be of finite index in $G$, which is what we wanted to prove.
Note: I find some of the notation unfortunately: I would have used $m_i$ as the number of cosets of $H_i$, to prevent the ugly "$n_n$"...