Basically (to explain it simply), it’s a combination of two reasons: the first is that each game assumes it is the only game on the cartridge, and the second is that neither the VB nor the FlashBoy have a MMU (memory management unit) that would bypass this problem.
I did make a proof of concept ROM where I joined Game Hero and Fishbone into one ROM (without having access to the games’ source code), but it didn’t work on hardware and I haven’t worked on it since.
I have a question as well that likely has been asked or covered elsewhere (I think I saw this in another thread but don’t remember it being answered)
If you flash a game and then create a SAVE file on the Flashboy + but then flash another game and then want to go back to the first game will it delete the save file? That would defeat the bonus feature of having the save file option, but I would understand if it did that because or space issues.