There is no way to join spectators (or change a team after joining as spectator) ingame in non-team based modes without a help of admin or using special scripts on server.
Add the "Change team" menu for DM, PM and RM modes and allow players to join the "0 - Default" team or "5 - Spectators" as it's done in team-based modes.
This menu shouldn't be showed on game join (new player will join team 0 as default like it works at the moment).