how to make the game check how many players are on the map/session

FindSessions returns an array of Session Result structures. An element of it has the members GetCurrentPlayers() and GetMaxPlayers(), which were set previously when the session was opened.

For the second question maybe you will need a server which tracks all players who are searching for a session and which decides when and for which players a new session starts. Like in common multiplayer games, every player first connects to a server A which shows them every available server B1, B2, B3, … Also this server A could control which server B1, B2 or B3 a player who is searching for a session has to join.