Why does ammonia accept a hydrogen to form ammonium when its octet is already complete?
"Hydrogen" means different things at different times. It can mean $\ce{H+}$, $\ce{H.}$, or $\ce{H2}$. (Not to mention deuterium and tritium!)

A bare proton ($\ce{H+}$) does not bring an electron to the filled octet on nitrogen, but attaches to the lone pair. The positive charge is now shared over 5 atoms, and the energy of formation of a new bond stabilizes the ammonium cation. The octet on nitrogen is still only an octet.

Interestingly, a hydrogen atom ($\ce{H.}$) can also attach to an ammonia molecule to form ammonium radical. Electrolysis of ammonium salts with a mercury cathode  yields ammonium amalgam, which rapidly decomposes to $\ce{NH3}$ plus $\ce{H2}$. In this case, the extra electron in $\ce{NH4.}$ is also shared among the 5 atoms, and is more stable than when it is attached to just one proton. But not that much more stable, and the bond between two hydrogens is even stronger.