Probably called it early so that Sunak's whole family can jet off somewhere and the kids will be ready for the start of a new school year. Call it later and still lose anyway and the kids are half-way through a school/college year which is not ideal. They've probably all had enough and realise they'll certainly lose anyway so why hang in there and put the rest of your lives on hold for no reason and prolong the ridicule? Wouldn't surprise me if it's as simple as something like that.
He was slowly being backed into a corner timewise...options were short.
He hoped for good news on inflation and the economy, and sort of got that news...but the rest has just been amazing, D day and Tory bookie fiddles showing good old true colours.
Then Boris went into hiding, and Farage pops out of nowhere!
And of course, if he keeps his post as an mp, which is still more than likely, he has promised to keep on as an mp.
But as politicians lie every time they move their lips...