Multiple Holes On surface I have a cube shape with a hexagon hole in the middle (Bevel modifier added). I have added loop cuts around it, made straight lines on the face of the cube to get better topology. I then selected the vertices on one side just for the example using Shift Ctrl + B, subdivided it, then with loop tool made a circle. But the holes are not as smooth, and also There's Ngons. The holes still look a bit edge, not perfectly ellipse shaped. Is there a better method to achieve this?
Thank you.

PS: I'm avoiding the subsurface modifier for this mesh,
You could do it with several arrays of cylinder that you use as booleans. Give your cylinder as many vertices as you want (16, 32...). Use the floor topology to precisely set the offset value of the array:

Once you apply, shade smooth the object, and auto-smooth: