After reading all the responses to this thread, here is my advice.
That private school isn't a good fit. It is TOO small, too restrictive, and there seems to be very few teachers with such small class sizes. If the teacher here doesn't think your child is ready to move up to 3rd grade because of his behavior, SHE is not using effective teaching strategies for him, likely because she doesn't know what to do. With no other options for switching him to a different classroom, you have hit a roadblock.
Do you have more than one public elementary school? If so, I would recommend going back public, ask for a FULL eevaluation for special education covering ALL areas (academic, psychological, occupational, speech/language, etc). If your child is found eligible for an IEP, he can go to ANY public school in the district and they have to provide door to door bus transportation. Many people don't know this is an option. It is federal law. Find the school that has the best program for what your child needs addressed (whether that ends up being a behavioral issue or a specific learning disability. By the way, it is ILLEGAL for a public school to suggest that a child be medicated. You could have reported that to the school district superintendent or the state education department. However, if the staff felt that his behavior was THAT bad, then there is likely a reason for it beyond "he doesn't like the teacher."
It sound like he needs more support, and a teacher that is well versed in educating children with special needs. For that, your best option will be public school.
FWIW, I have a son with autism who is now in 9th grade. In 6th, he was labeled "emotionally disturbed " due to frequent outbursts and crying, and "defiance and non compliance." This kid is an absolutely wonderful child at home, has never defied me or become angry with anyone at home, ever. He suffers from anxiety though, made worse by the classroom placement he had in 6th grade. That label, I didn't agree with. They created a behavior plan for him and everything. The "behavior" continued until this year, when it stopped as quickly as it started. You know what changed? The environment and teachers, because he started HS and has a set of teachers FAR better trained/equipped to handle his issues. His HS has a better program than the middle school did. He is not attending our home school, but I requested placement at the one he is attending based on stories I had heard from other parents. He had his recent triennial evaluation and the psychologist removed the ED label and said she doesn't believe it was ever actually deserved. My younger son started middle school this year and has similar challenges. I proactively requested placement at another middle school that has a better program for what he needs (he needs a small class as well, with more individual academic support, so he is in the self contained autism class for moderate to severe kids). Inclusion/mainstreaming with support was a failure for him. He is thriving there. Had I sent him to the same middle school my oldest went to, I have no doubt we would be seeing "behavioral issues."
Your kid will let you know when he isn't in the right environment. The challenge is figuring out where he will thrive.