(I'm a native US speaker). I think you are right and your critics are wrong.
"In my opinion, it is necessary that everyone have hobbies" is correct, natural, and well phrased. Applying strict logic, it means two or more hobbies per person, but I don't think it would really be understood that way.
"In my opinion, it is necessary that everyone have a hobby" is correct, but I don't think it's any better than "everyone have hobbies." It is unambiguous: one hobby per person.
"In my opinion, it is necessary that everyone has hobbies" is (in my opinion!) simply wrong.
It is easy to sidestep the problem completely by using different wording; for example, "In my opinion, everyone needs a hobby."