Some light arithmetic:
One high figure used for estimating rally sizes is 4 people/m². 1 million people at that density occupies 0.25 sqkm.
At 50 abreast across a 25m street, 1 million people would stretch, at the aforegiven density, for 10km. About the distance between West Ham and Charing Cross.
London streets are generally narrower in reality, and lower densities of just 2 people/m² or even 1, are more common.