The east-west component arises from this: When the Earth is at perihelion (January), the time from solar noon to solar noon is slightly longer, because the Earth is moving faster and farther in its orbit, so it has to rotate a bit more until the same meridian points back at the sun again. At aphelion (July), that's reversed, solar noon to solar noon is slightly shorter.
Put another way: A solar day is more than 360° of rotation relative to distant stars. It's very close to 361°, because the angle between the stars and the sun changes as the Earth advances in its orbit, by about a degree per day. At perihelion in January, it's slightly more yet again, like 361.0002°, and in July, it's 360.9998°; that difference takes a few seconds more or less to rotate. We don't vary our clocks based on that variable solar day duration; instead we fix our daily time intervals and let the sun's apparent position vary east-west slightly relative to that.
The figure-8 shape arises from the relative phase of the two cycles. The maximum velocity for the north-south component occurs at the equinoxes, while the maximum velocity for the east-west component occurs at perihelion/aphelion. On Earth, these occur at different times. Interestingly, for Mars the converse is true; its equinoxes are near its perihelion/aphelion, and so Mars's analemma is almost not a figure-8 (it is, but one lobe is very small.)
[0] https://en.wikipedia.org/wiki/Kepler's_laws_of_planetary_mot...
This is because the sun on an axial-tilted plane 'lags behind' then 'catches up' to the ideal 0-tilt sun over the course of the year. At the equinoxes, the sun's motion has a significant vertical component. Therefore, it's horizontal speed is slower than an untilted sun (both suns still travel through the sky at the same speed of 360/365 degrees per day), so it will lose ground and drift back. At the solstices, the sun moves horizontally, but at an higher latitude (equal to Earth's axial tilt) on the celestial sphere, covering more degrees of longitude for the same speed than the ideal sun moving along the equator, hence making up the lost ground. This variation in horizontal speed throughout the year creates the figure-8.
You've argued that the Sun's rate of motion across the sky should have a constant magnitude (under the assumption of an Earth analog with a perfectly circular orbit but still 23.5 degree obliquity). It's not clear to me why this should be the case; on the celestial sphere, I would have an easier time accepting that the Sun should have a constant "horizontal" (i.e., in the sense of right ascension) motion due to the Earth's constant orbital speed, and that the Sun's "vertical" (i.e. declination) motion should be purely sinusoidal: greatest at the equinoxes, zero at the solstices. Have I misunderstood something here?
As an extreme case, imagine a tidally locked planet on a circular orbit of 1 AU with 23.5 degree obliquity. An observer sitting on the equator would see the sun moving on a line overhead, crossing the zenith back and forth, with no figure 8 -- right?
The path of the sun's annual motion relative to the stars is determined solely by my physical progress in orbit around the sun. A planet's axial tilt only changes the 'direction' I'm looking in and thus the reference point of my celestial coordinate system. The sun's path will always be a great circle on that celestial sphere (and always the same relative to the fixed background stars) regardless of which reference frame I choose. I think this is enough to surmise that the sun's angular speed on the celestial sphere is constant regardless of axial tilt (assuming a perfectly circular orbit).
Taken to an extreme, imagine a planet with 90° tilt -- the sun would move vertically and pass directly over the pole, making a constant 'horizontal' motion literally impossible.
I'm not sure what your tidally locked example is meant to demonstrate, since that's literally what the analemma is -- the path the sun would make in the sky once you subtract a planet's local axial rotation, i.e., tidally locking it to the orbital parent.