The main issue here is the use of the GameInstance. The GameInstance does not replicate. Each player will have its own GameInstance and be unable to see updates from the others. To fix this, simply put the “Number of Players” variable in GameState.
If that alone does not fix your issue, try switching away from a custom event and just binding the value of “Notification Text” to “Number of Players” inside of the widget (see below). That way, any time the server updates “Number of Players”, all the clients will automatically show the new value. Just be sure “Number of Players” is marked as Replicated.
Let me know how it goes!