I don’t understand why the values of form a discrete subset of R in the proof below... reason should be simple but I’m just not seeing it - if x is not in the group generated by M then neither is x-x_i...
(I only have my phone with me so sorry for not typing up the proof all out).

Inequality (2) seems irrelevant here--rather, the claim in question follows from condition (b). Let $S=\{\langle x,x\rangle:x\in\Gamma\}$. If $S$ had an accumulation point $a$, then for any $b>a$, $S$ would contain infinitely many elements less than $b$. Then $\{x\in\Gamma:\langle x,x\rangle<b\}$ would have to be infinite, contradicting (b).