Buffalo Spearmen have three movement, resistance against ranged damage and a bonus against mounted, so they can get around the advantages of ranged pretty easily. I ignored your turn 11 scenario because you're assuming he's upgrading a warrior to a ram which is entirely based on luck. Shaka will have his army out faster than Attila if you don't reload until your warrior walks onto an upgrade ruin.
Horse archers aren't vulnerable to spear's cavalry bonus, move faster than buffaloes & don't require 3 freaking promotions to become useful. You can get 1 promo from barracks but for the other 2 you have to fight & survive, a thing which is kind of difficult against a ranged based army of horse archers which can simply focus on your units & destroy them. Horse archers also have higher strength than normal chariots & starts with accuracy I so they can beat the crap out of the spearmen even 1 on 1.
Assuming your three promotions scenario, HAs can also get pretty badass promotions which can quickly lay waste to most armies. I am saying this because I've literally streamrolled half a dozen AIs with a couple of HAs & rams in a short time. Zulus while they are great at fighting armies, don't have much advantage against cities other than the cover bonuses their promotion gives.