FWIW, I was looking at eth code in the weekend and it's pretty accessible (I was looking at go -- I've read that eth python should be even more readable).
The address part is very similar, even simpler, than bitcoin. It's the same elliptic curve, same way to build private/public keys.
For the address, it uses a different hash function, Keccak256, and then it's just serialized in hex. Code here [1]. Pointers to key generation [2, 3].
If you're reading the comments, can you do this treatment but for Ethereum and the smart contracts built on top of it?
I find that your article gives a good explanation especially for beginner to understand from the code perspective.