The problem is that your dialog variable "PlayerRace" has its array size as 1. So this is what happens when your map loads:
exitwhen ( i > 1 )
set i=i + 1
Only array 0 and 1 get a valid dialog created for them. That's why this only works for player 1. In order to fix that, just open your variable editor and change the array size of that variable to 12 - That will create enough dialogs for all players.