Multiplayer Shootout - ClientPostLogin Question

So I’m studying this project and need some help understanding the game flow.

When a player joins the server, the server spawns a pawn for the new player.
Then in the GameMode PostLogin proc it makes a call to the ClientPostLogin to setup the UI.
That makes sense.

But then the ClientPostLogin makes another RPC call to the server to Respawn a pawn.
Why does it need to respawn? It already has a pawn that it possesses?
What is the purpose of this respawn?

Thanks

Player joins and has an PlayerController assigned to it, not a Pawn.

Event PostLogin is called.

The DefaultPawnClass is then spawned and possessed by the PlayerController that the Server assigned to the Player at the time of connection.