We are living in the 21st century now. One phased array can support a large number of beams, each pointing in a different direction, each moving at a different rate. All the steering can be done electronically.
So no, you don't need one antenna for every link. Just a few spacecraft-fixed, phased arrays is all that's necessary.
Here is a drawing of an Iridium Next satellite. The SpaceX satellites will look very different, but for the purposes of your question, the Iridium Next is a good enough example.
The large (orange) hexagonal array on its belly is the L-band (1-2GHz, 30-15cm) is a 48-beam transmit/receive phased array antenna to communicate with multiple ground "customers". Each beam is "generated" in signal processing electronics, and a different phase and possibly (probably) amplitude would be sent to each of the sub-units with the array.
The higher the frequency, the smaller the array can be and still produce tight, steerable beams.
This excellent, detailed answer about GAIA's phased array describes the situation where the spacecraft is spinning around its axis but needs to keep a continuous data lock with Earth. The phased array is designed to handle this and keep a lock over 360 degrees azimuth and 30 to 60 degrees elevation with respect to the spacecraft's mid-plane. It's all done using math and fast processing to generate the correct signal amplitude and phase in each sub-element so that the beam is always optimized.
So the answer is "a few" if you count a single fixed array as an antenna. They are made of many small sub-units, but these are not independent antennas, they are all sharing the same signal.
above: Conceptual drawing of Iridium-NEXT from Harris.
above: Testing the GAIA phased array, from here (paywalled here).