That is indeed more complex. There’s some non-square edges in the profile, I’m not sure if that was intentional? This seems to have led to some face-cut fails already. However, the Solid Tools + array cutters approach is even more apropros when you want to punch holes through non-square faces.
Rebuild to start. Grab the profile and move-copy it to the side, then remove it from the group with Cut + Paste-In-Place (another tool worthy of setting a hotkey).
Push the profile back up, make a new Group. Go to the original group and grab the four relevant circles, move them to the a third Group with same steps as for the profile. Here I’m grabbing the small circles after already finishing the array with the big circles.

Perform push-pull to create cutter geo. Copy it upward in array using original group geo for inference. I made the large cutters too deep in this screenshot. It is easy to correct by Scaling the entire group.
Subtract with Solid Tools.’
In parallel projection: