Je n'ai jamais vu créer un objet global sauf dans Arduino et tu as la réponse dans ta question, c'est pour la facilité. Un objet n'est pas une variable tout comme une classe n'est pas une structure. Les tutos font généralement un rapprochement entre C et C++ en mettant en parallèle structure/variable et class/objet mais c'est oublier de préciser en C++ le lien entre variable et entité et le lien entre données et traitement tout en ignorant encapsulation et abstraction.
C'est une question d'allocation, mais je crois qu'il y a peu ou pas de différence entre C et C++ hormis les mots clés
Je ne dis pas que l'on n'a jamais besoin d'une variable globale même si cela demeure rare mais je ne connais aucune raison de créer une liste de variables globales, d'avoir un objet global ou de mettre les variables d'une class en public hormis se faciliter la vie