Hey,
So I think your a bit mistaken on the Player Controllers there. The Player Controller is only valid on the Owning Client and the Server, so you aren’t able to access other Client’s PlayerControllers but you can your own. The network compedium is a great resource for things like that - Multiplayer Network Compendium | An Unreal Engine Blog by Cedric Neukirchen
What you may be seeing however is this being null at certain points on the Client such as Begin Play as the Client has to wait to be Possessed and then Replicate that down to the Client. So if your looking to grab the Player Controller at the first point its valid then on the Pawn you want to look at the OnRep_Controller function;