To note, DOSBox, the MS-DOS emulator which is needed to run many of those old games and comes packaged together with many GOG games, is 24MB (standalone Windows version) – a large size mostly because it requires a lot of functionality, emulating many different hardware configurations.
XCOM for MSDOS, installed, weighs around 10MB, I imagine people from GOG when packaging didn’t want the user to have to go through the installation process from a disk that doesn’t exist, so it is packaged preinstalled.
OpenXCOM, the opensource port to run XCOM on modern systems is itself 16MB (standalone Windows ver).
Indeed, most of a modern game is graphics and audio – I see nothing wrong with that, but if you find offence there is usually “RIP”ed versions around on torrent sites, which remove the music, lower the quality of texture files to improve compression, and often remove videos and cutscenes – saving considerable space. Those are an alternative if you are particular about disk space.
One downside of increasing compression to reduce file sizes is increasing asset loading times – most players much rather spend more time downloading or installing than waiting for the game to load.
The thing with doing a NES game – and I have attempted so myself – is that the work to do anything is phenomenal, easily say 10-100x times the work to do the same for a modern platform.
As an aside, the largest NES game is Dragon Quest IV, at 1MB, already quite huge considering the limitations of the platform.