Windows already does this. There's a volume mixer where each app has its own volume. That's still the case AND the game/app has a separate volume.
So the actual volume playing is effectively:
Hardware volume x Windows master volume x Windows app volume x In-app volume
No one wants or needs that level of control. You end up adjusting these separately as you need until you find out one day the hardware volume is on max but the master volume is near zero and you've been compensating for that by maxing out the in-app volume.