Modeling hexagon pinhole lens for 3D printing
Here is Modifier version you asked for ...
... add a Circle 6 sided, extrude E, scale S - to create a segment with a hole

Array - use two of them to create like &quot;rhombus&quot; shape
Mirror X and Y - mirroring does some parts overlapping, but no problem ...
Weld is used to merge double vertices


Big thanks and credit goes to @Robin Betts. He added two drivers to a second Array modifier. So now just simply increasing/decreasign a count of the first Array automatically changes a count of second Array ... and more of that second driver maths correct distance for segments on X axis.
You don't have to use drivers to make this modifier stack to work. They just make a life easier :)


Notes: When you are happy with a number and size of holes you can easily continue with other modifiers ... Subsur, Solidify, Bevel all with a nice topology that wouldn't be happen (I guess) if you would use Boolean operation.
To get Circle shape around - apply modifiers (in case of version using drivers
search for Convert to Mesh to apply modifiers). In edit mode select outer loop, extrude, scale and
search for To Sphere set 1

Anyway, even Arrays / Mirror / Weld modifiers are applied you can any time select one hole loop and with Select Similar Shift+G &gt; Length to select all holes and with Pivot Point &gt; Individual Origins you can still adjust size of holes.