#They Are Very Different In Multiplayer Game
Game Mode = Only Exists on the server, and controls how players login to the match, and how player units are spawned. You can stop a player from joining a multiplayer game here, or know when a player has left. And again this actor only ever exists on the server.
Game State = Ideal for managing all aspects of a replicated world, such as world time, world object positions not owned by a player, AOE damage zones, neutral replicated gameplay elements of any kind.
This actor exists for client and server and allows for each client to know stuff about the world.
Again a great example is World time where you want the client to know what what the session / turn / current mission time is as propogated to each client from server calculations that are done in Game State class on the server, and replicated to each client using a replicated Time variable.
The bulk of actual game-time related stuff in multiplayer game has to be done in Game State if it is anything you want clients to know about locally
Rama