Is it sad that I could recognize most of those without looking them up first? :/
No, but it does serve to underscore the principle mentioned several times in the thread.
There are lots of little parts. Which parts you use and how use them depend on what you are trying to do.
You can emulate older systems by learning their machine language, learning what each instruction does internally, and building an emulator that has a perfect 1:1 representation of the internal state of the older CPUs. You can also do it by making a translator from one machine to another machine, building your own sets of buffers as registers and memory and translating the calls as you experience them. You can also do it by running an effective JIT compiler, taking the source input and processing it into something different to run elsewhere.
You probably don't need to emulate the individual processors, emulate the individual circuit gates for performing addition and subtraction on variables. But for some things, you might.
Of course with game emulators there are external components, the actual screen and other hardware, that needs to be taken into account. Where old systems would just set a signal to high/low when the CRT ray reached the appropriate spot, today a developer would need to convert that into modern display coordinates. But that again is just a question of what needs to be emulated and what does not.
As a parallel, you can simulate race horses with an internal combustion engine and a few other parts. You could also simulate them with tons of tiny gears and levers. You could simulate them with a computer mockup of every organ, or theoretically with a simulation of every cell, or a simulation of every atom and future powerful computers. You could simulate them with other animals, you could simulate them with people in a horse suit. Lots of options depending on your goals.
There is no simple, single answer to the questions being asked.