"Er kommt spätestens um acht."
I did 'by eight' as well. I'm not a native English speaker, but I tend to think it would be correct.
I think there is more emphasis here in the German than your English versions give. "Around eight" is certainly not right because it could mean a little before or a little after, and this guy is not coming after eight at all. "By eight" might be OK, but still isn't as firm as the German here.