Don't be stupid BoZo attempted to crash out of the EU in October 2019. Boris did nothing else from that point onwards except claim there was no need for a second vote as people had decided 4 years before, went ahead with an election on a single slogan "Lets get it done", knowing the Liberal voters would not join Corbyn and vote for Labour where as if it was a final "Leave Without a Deal if Necessary", which is what he was planning all along, a referendum would have returned remain.
The Tories are full of shit gutless people who go according to which was the wind is blowing just to be in power no matter who they destroy including the British Industry.
When Bozo was told if we leave without a deal it will be disasters, he said "Fuck British Business". When he was challenged about it during the hustings before he got elected he explained it as "describing it as a stray remark to the Belgian ambassador”.
https://www.independent.co.uk/news/uk/politics/boris-johnson-business-hustings-tory-leader-no-deal-brexit-a8970491.html
Be that as it may, here is the first reason I believe made a big difference.
UKIP decided to to challenge the Tory MPS and only challenge the Labour MPS. That was one of the reasons but there is plenty of others for those who took the trouble to look at what went on.