You're at break point.
You aren't stupid, or lazy or any of the other things you have called yourself... so stop that please.
However you are catastrophising.
Please email nursery and put him back in... it's good for him, and it's good for you.
I've worked in early years education for 20 years, potty trained 4 of my own plus grandson and I PROMISE you nursery have seen it all! Some kids are great, get it easily. Some have continence issues (usually poo witholding) and some literally don't give a shit, and just are not interested.
Very few are still in nappies after 5.. and the nightmare late toilet users are usually very fast to get it when THEY finally decide to.
Your son is halfway there.. he uses a potty for wees if you take him. My grandson is the same age, and same stage.. if we take him (and yes we often have to make it a game 'who can wee first, me or you?') he'll go, if we don't, he will forget and wet himself because life is too interesting to stop playing! We go together every couple of hours.
We did crack the pooing, with massive bribes (I'm sure you've tried but just incase... I bought a pack of 30 toy cars from Amazon, showed dgs very casually that he could choose one when he did his poo on the potty, and then put them on a shelf..two days later... bingo).. . when we ran out of cars we were able to downgrade to chocolate buttons. Dgs still can't get his own trousers down or up himself so still needs full assistance.
His best friend is still fully in nappies, while some of his other peers were trained before they were 2.
My own children ranged from 2 -4 years old (at a time when 'by 2 was the norm)... they just varied because they were individuals!
Give yourself a few weeks break... wait for the summer and then go butt naked at home. But also, kindly you sound so stressed and projecting that others will judge, or that he will have to be homeschooled... please see your GP because you sound just like I did when I had PND (and was also trying to potty train a poo witholder!)
This will eventually pass, I promise!