TL;DR: He never changed sides.
Suzaku's allegiance remained with the Britannia Empire the whole series. After the events in C world that culminated with the Emperor's death, Lelouch became the new Emperor, and it was only logical that Suzaku would serve Britannia's emperor, Lelouch.
Both Lelouch and Suzaku had the same goal: to Restore Britannia and end the corruption. Suzaku wanted to do it by working WITHIN the system, Lelouch would do it by the fastest means available. That is why they were at odds before the Emperor's death. Once Lelouch became part of the system, that rivalry ended.
Also, Lelouch had already used Geass on Suzaku in the first season, by ordering him
To Live!
that was triggered anytime Suzaku was at a risk of death, most of the time improving his combat edge.
Lelouch could use geass more than once on an individual, only if Orange-kun used his Geass Canceler between uses. Happend only once in the whole series, with Shirley: He used it once to eraser her memory, then Orange-kun wiped that effect, and later while she was dying on Lelouch hands, he commanded her to live, but she was unable to carry that and died anyway.
Agreeing to the Zero Requiem plan suited Suzaku on several levels. He would
- Serve his Emperor's (Lelouch) orders,
- Avenge Euphemia (by killing Lelouch),
- Clear his slate with Karen (by being dead, or even if he was unmasked as Zero afterwards, she would still be ok, i guess),
- And stay in a position able to defend nunnaly forever.