You write, "We feel that he becomes so busy with circle time, playing, activiites that he does not want to miss out and then once he goes he is too embarrassed to tell any one."
The teacher needs to ask him at regular, timed intervals to go use the toilet. She should not wait for him to ask to go. It's clear he is getting too busy, as you note, and/or is not feeling the urge in time to make it, so she must step in and help you some here. Have a talk with her and tell her this is how you are handling it at home too -- don't wait for him to get to the toilet himself, have him go at regular intervals. Same when he visits the friend -- you need to tell the other parents what is going on and have them get him onto the toilet at intervals. (And no more baths or overnights until this stops. And instant removal to home if he messes his pants -- it is not their job to clean him up.)
He likely will resist some of this and insist "I don't have to go!" but all the adults in all the settings need to have the same response: "It's time to TRY. Playing stops until you try and sit long enough to really make it a good try." In other words, don't cave to "I don't need to go" and let him keep on playing.
Also, I would tell the teachers that if it happens at school, they should call you to pick him up immediately. Don't act like it's punishment but do go quickly, get him out and take him home for a clean-up (see below), explaining that it is not healthy or safe to have poop inside his pants, so whenever he has poop in his pants at school, he has to go home and not go back that day, so he can be safe and clean. The loss of the fun of being at school will impress on him that he needs to go when asked by the teacher. But again -- don't fuss at him, just ensure he knows that messed pants at school means instant removal for the whole day. And follow through and do that. The other kids should not be told why by the teacher. She can just say he isn't feeling well or has to be somewhere else.
I would not go back to pull-ups at this point. That sends him an unspoken message that it's OK to go in his pants, to be honest.
Also, is he responsible for helping to clean up his messes? Do NOT punish him -- he really seems not to be able to tell he's got to go -- but do give him responsibility once there is a mess. You should take him into the bathroom and have him strip off; rinse out the dirty underwear under the bath tap or place it in a plastic bag for you to launder later if you prefer, wipe himself up (you would of course finish up that job) and wash and wash and wash his hands. This isn't intended as punishment! So don't fuss while he does it; be matter-of-fact and calm and say "I know you didn't mean to do it, but now that it's done, we need to clean up." You are not trying to shame him, just trying to convey a sense of responsibility for his own clothes and self.
Taking away toys is not helping, so I'd stop doing that. Again, that's punishing for something he seems unable to control yet. At his age some kids still do not have great control over their bowels and some kids genuinely do not feel the urge to go in time.