Because modern web is bloatware. Too much javascript, CSS, ads and cookie popups. A phone's hardware and internet speeds are generally not as fast as a desktop. So, it takes much longer to render on a phone.
Also, a lot websites nowadays deliberately make their mobile web experience shitty (cough ** reddit cough) to force their users to install their app.
At least some of it is shitty companies either neglecting to optimize or even outright sabotaging their own sites to try and force you to install their data harvesting app so they can sell more of your data for profit.
The rest is just lazy devs not optimizing because they're lazy and/or underpaid and overworked.
Or a junior dev implemented it and somehow it passed code review. Then when it was tested by the dev on localhost, it ran great. Then when (if) it hit qa, it was ran on local servers and worked fine.
A lot of things slip through the cracks. That’s what hot fixes and patches are for. It happens.
You have to cram everything into a much smaller space while still having the whole thing be usable with much more clumsy touch inputs. Thos are serious limitations.
I think some of the web frameworks people use are converting the desktop site into a mobile layout by applying additional CSS and layers ontop of it that makes it more inefficient.
If done well this isn't a noticeable performance impact. CSS is blazingly fast and even mobile devices can handle thousands of rules essentially instantly... sometimes, however, modern web frameworks use Javascript to either dynamically rewrite rules or, worse even, manually apply different styles to individual elements based on page width.
Also, react is a bloated piece of shit that can make any page take forever to load on a 3g or lower connection... and it's extremely popular.