My question is: When we are finished creating the game in Blender, how do we let others play it? Is there a game host service through Blender? or do we need to purchase a server from a 3rd party provider?
Creation and Build
Blender is a "creation tool". You can create Blender games (and the assets) as application with it.
Blender supports you in a way that it builds the application and data files that form your game. It is not designed to act as application server outside of the development pipeline (running the game embedded inside Blender, or starting it from within Blender).
The user runs the game on his own starting the game as standalone application.
The usual way is to start the blenderplayer and feed it with a blend file which contains the game's data.
For your service Blender can bundle the blenderplayer with such a blend file forming a application file (still needs the libraries).
Be aware: in this case all content of the application file (what is inside the blend file) has to be published under GPL as the blenderplayer is GPL (see Blender licence).
Typically you somehow provide the user a way to get all the necessary files (blenderplayer/game file/blend file/linked assets). This can be a download/CD/stick or whatever. This is outside of Blender. There are other applications that help you on distribution (e.g. creating an installation file, hosting a download page, offering update service)
If you want to create a multi-instance multiplayer game you need to split the game into different parts anyway. Each user gets a client that runs on the user's environment. These clients can connect to each other (peer-to-peer).
You can run one or more servers that help to connect (lobby) and synchronize (game server) the different game instances (client-server).
Each part (server, client) needs to be published separately as they are installed at separate environments.
When you want to run the central servers I suggest to look for some third-party-services to help you on that. Blender can provide the application, but not the application server - not even a website. That is outside of the scope of Blender and outside of the scope of this answer.
Remark: this is an architecture decision. You create the client with Blender (or other tools) you can create the server with Blender (or other tools) as long as they can communicate with each other.
This is a followup from the comments.
You can run your game embedded inside Blender. This is typically part of the development process.
The average user does not want to start Blender, load a blend file and run the game from there, specially as it is possible to break something while having the blend file open.
Nevertheless it is possible to run your game embedded. You might even support the user with auto start script (starting the game when opening Blender).
This means Blender is part of your game (you need to deliver Blender and the game assets).
The advantage would be that the Blender API (bpy) is available. Be aware this still does manipulate Blender data rather than data of a running BGE game.
You could use this option to run your server. This way the end-user does not see Blender just the individual client. The clients can be the usual BGE applications.