But SAGE modelling (and any modelling) is highly subjective and depends entirely on model inputs. Maths is actually easy - agreeing assumptions is hard.
Numbers can indeed add up very quickly just because vaccines are not 100% effective. Let us assume that whole of 52.66 million of the UK adult population gets vaccinated. Taking AZ efficacy (80%) - 10.5 million of people might still get Covid. If - say - 3% of them end up getting hospitalised, it is 315,000 people. A very large number. Once we account for the fact that 30% of the UK adults are still unvaccinated, 315k hospitalisations might quickly turn into 500k+.
The big question is how many hospitalisations we may see in the real world and this is exactly where the modelling assumptions come in. Small tweaks can lead to very different outcomes.