That's entirely up to the app. Games generally don't have a reason to run in the background (unless they're going to harass you with periodic notifications). It's not up to Android to decide whether an app has a legitimate need to run as a background service or not, it's up to the developers to code their apps correctly. Apps misbehave on Windows all the fricking time too.
Doze isn't
just about Internet access, but that is a component of it. And yes, Doze includes a whitelist feature. (On my Nexus, Settings > Battery > (menu) > Battery optimization) Apps which are "not optimized" are not subject to Doze's restrictions and can generally do what they want. While I expect timely notifications of emails and other messages, the only non-system apps that I have excluded from Doze are Android Wear and Tasker - the former to allow notifications to find their way to my watch even while my phone's been idle for a while, and the latter to allow it to perform certain automated actions based on time/location/network state/etc.
They don't
have to - and many would argue that they
shouldn't. Manufacturer-included tools perpetuate the myth that Android can't manage things on its own. The truth is that the task killers included by many manufacturers fight against how task management is designed to work on the OS. This results in applications that aren't able to correctly save their state before being terminated and must then be redrawn from scratch when they start again rather than picking up where they left off. Missed/delayed notifications are also a symptom of this mismanagement.
I've not personally used Stamina, but have done a bit of reading on it since you keep bringing it up. From what I've seen, it really is pretty much a more aggressive implementation of Doze. The only big difference I found is that Stamina kicks in one minute after the device goes to sleep, while Doze has a longer delay (and stricter requirements) for when it can activate. (FWIW, Doze has been further improved for Android 7.0 and is now much less particular for when it kicks in. Standby time for my Nexus running the preview has been
very good.)
In fact, Stamina was largely removed for Android 6.0-based releases because it conflicted with Doze (and Google doesn't let OEMs tamper with Doze).
The name "Stamina" did recently make a return to Android 6.0 builds from Sony, but it seems to be pretty much a rebranded version of the Battery Saver mode added to stock Android 5.0; this just adjusts certain settings (vibration, brightness, display timeout, animations, etc) below a specified battery level to try to stretch the power that's left. Again, it doesn't do anything that's not already a part of Android.
Like I mentioned, the problem is the apps, not the OS they run on. The OS shouldn't just go around clubbing every little baby seal head that pops up. It doesn't really have a way to know which ones are fair game to smack around.
It's less of an impact than it would be to not cache the apps and start them from scratch each time they were needed. And, again, this is the way that Android was designed to function.