Proof of Lagrange theorem - Order of a subgroup divides order of the group
You've got most of the pieces you need: we also use that the union of all left cosets of H in G IS G. Now we just put the pieces together:
Let $H\le G$, $|G| = n$, and let $|H| = m$.
Since every coset (left or right) of a subgroup $H\le G$ has the same number of elements as $H$, we know that every coset of $H$ also has $m$ elements. Let $r$ be the number of cells in the partition of G into left cosets of $H$ (because the union of the left cosets of $H$ in $G$ is $G$, and these cosets are disjoint, they partition $G$).
Then $n = rm$: i.e., $|G| = (G:H)\cdot |H|$, so $m = |H|$ is indeed a divisor of $n = |G|$.
To elaborate on how relates to Lagrange's theorem:
$$\text{For}\;\; H\le G, \;G\;\text{ finite}: |G| = |H| \cdot (G:H) \implies \dfrac{|G|}{|H|} = (G:H) = r,\;\; r\in \mathbb{N}.$$
So $|H|$ divides $|G|$, since the index is the number of left cosets of $H$ in $G$ and is hence an integer, say $ (G:H) = r \ge 1$.
Alternatively, let $(G:H) = r,\;\; r \ge 1\in \mathbb{N}$. Then $|G| = r\cdot|H|$. That is, $|G|$ is an positive integer multiple of $|H|$, so $|H|$ divides $|G|$, for $G$ of finite order $n$.
Maybe it helps to add that the union of all the left cosets of H in G is again G. So G is the disjoint union of [G:H] sets that all have the same number of elements, namely $|H|$. Thus $|G| = |H|[G:H]$