In Jech, Set Theory, the proof of the Solovay's theorem about the disjoint union of a stationary set (in $k$ regular), into $k$ many disjoint stationary subsets, starts showing that this decomposition is possible for the stationary subsets of $E_\omega^k=\{\alpha\in k: \text{cof}(\alpha)=\omega\}$ (pag. 94, Lemma 8.8).
This is the proof.
I can't understand why the $\gamma_\eta$ are $k$. Surely the regularity of $k$ implies that if the $\gamma_\eta$ had sup $k$, their cardinality would be $k$, but why can't they be definitely equal to or bounded by something lower than $k$?

The regularity of $\kappa$ does not imply that $\sup\gamma_\eta$ is $\kappa$. Rather it implies that any unbounded set must have cardinality $\kappa$.
If you agree that $\sup\gamma_\eta=\kappa$, which follows from the fact that $\gamma_\eta\geq\eta$, then you have to agree—by regularity of $\kappa$—that there are at least $\kappa$ of them.