The first computer I built, back in 1976, was based on a Z80. A very useful feature is that the clock can be manual stepped which is excellent for testing. In the absence of an oscilloscope and/or logic analyzer it enabled a handful of buffered leds to diagnose most issues.
Of course the original Z80 only had a 1Meg clock and TTL logic so the circuits were relatively forgiving as opposed to working at Gigs.
I'd suggest going with a Z80.
My first system was also z80 based (zx81) fried the cpu by connecting TTL logic on the expansion port with sawed in connectors, because the ones that were the exact connector was way too expensive. One day a stray cable touched the connector and the CPU bought the farm. Ordered a CPU and back then it took 4 to 6 weeks to get it, but there was a book on the store about Z80 assembly. The samples were intended to be run with a microprofessor (which I didn't have) so I did all the samples by hand while waiting for my replacement CPU to arrive.
It gave me a good understanding of the chip to say the least.
2nd one was the zx spectrum (which I got after the zx81 by saving my allowance for many many weeks and doing lots of chores).
First thing I did when I got my hands on a PC is to make a macro assembler (well the only macros were well known spectrum memory addresses) but it would convert mnemonic to a binary file.
Made a tape reader that will run on the original IBM PC as well by using the din connector on the back.
Also did an emulator for the PC, got it to boot but never put the effort on emulating the keyboard properly.
Maybe I'll dig out that code and post it (horribly written of course and probably totally undocumented) if anyone wants to take a peek of some 25 year old code written by a very inexperience coder before going to college.