Think of it in terms of drivers for Windows. A driver for Windows XP will not work for Windows 10. The technical coding language on how to access resources, determine AI, calculate damage, etc etc, have drastically changed over the years.
We're also talking about emulation, not remaking. I'm sure anyone could remake, and thus recode, the entire game for newer hardware, but then you leave the quirks out from the original limitations of the hardware. For example: the Mega Man games on NES had quirks where there were too many enemies on screen, how firing your main canon worked, etc. If Mega Man was recoded to remove these quirks then it would not be the same game. Do you then release the game as is, without the quirks gamers grew up to love and potentially alienating those gamers who grew up playing with them in, or do you now code in the limitations in for a more "authentic" experience? Coding in the limitations would probably take even longer than getting an emulation running.
In an emulation the framework behaves like it would running on the old hardware, thus keeping all the quirks, bugs, and issues thereof. It would be a more authentic experience just like in the old days.
Okay, so now you decide you want to emulate rather than remake. If we use the original analogy of Windows XP and Windows 10 Microsoft has used .NET Framework and DirectX over the years for games and apps. Games that used an older versions of these frameworks have had issues running on newer versions of the framework and even newer hardware. A 386 behaves differently than a i7 in how it accesses information. So now you're trying to emulate old hardware framework on new hardware, with different coding languages and access speed. It's easier when the new consoles was built with these older frameworks, and in some cases older hardware, built right into the new console itself. It can take advantage of running precisely how the old console worked.
So, to SNES and 3DS. There's some emulation built into the console with the Virtual Console project. The 3DS is a powerful piece of hardware, able to run 3D images without glasses and all that, but it's still limited on how things were built into it. It's not just about emulating the game 1:1, but also getting it to run on the 3DS framework without crashing. The 3DS runs it's "Operating System" in the background along with the game. Factors have to be taken into account of how SNES games would react when suspended into the 3DS OS. Let's say you suspend the game halfway through the game accessing a sprite. When you resume the game is the framework going to continue loading the sprite correctly, or will Bowser be missing an arm or a leg? Will Mother Brain just be a floating jar? Will sound play correctly or buzz and hiss when it comes to a corrupted piece of music or soundbyte?
tl;dr: It's about a 1:1 experience without new bugs from newer hardware. It's easier to remake than emulate, but that kills the experience from the old hardware.