It's important to keep development going but commercial projects is not the only way. Godot Foundation exists and there are plenty of others in open-source space.
A nonprofit means actual reports about how money is used, and it's not as if commercial projects are somehow better because they don't fold or get sold or canceled.
And even between commercial ways, charging royalties is one of the worst. It doesn't cost Epic extra if my game starts making more money. Just make the engine a one-time purchase (per version, so you get to keep sales going) and everyone will be much happier. Sell additional services which actually do cost you money to keep up (multiplayer hosting).
Nothing against Godot, it's a great project, but looking at the wikipedia list of notable games using the engine, there's a single one I have heard of. Meanwhile about 28% of the market share of all video games is using Unreal. So I don't really see the need to make "everyone much happier" honestly.
> Sell additional services which actually do cost you money to keep up
After a game has been released a solo dev often has very little work to do, since they've already invested all of the development time ahead of release. So, by this logic they shouldn't really be allowed to charge anything for the game, except to cover potential work on updates.
Perhaps game projects don't need to operate like nonprofits, but then why do game engine projects?
I love Godot but it's not a particularly brilliant example of what you are trying to say. Many games made with Godot generate more profit than the entire budget of the engine itself.
The engine itself is far from cutting edge and missing several features that are now quite common elsewhere, like texture streaming, bindless textures, etc. The speed of development isn't blazing fast either (see the implementation of the traits system). Devs are excellent at what they do but one could wonder how much faster and further it could go with more fundings.