When you copy a 3D “hole,” you’re really just copying the wall of the hole. You’re not copying the absence of material at either end of the hole (the actual hole). Interestingly, when you make a 2D hole, that is, a circle on a face with the interior of the hole deleted, the absence of material does copy. So to make your drilled plate, draw the rectangle, draw the first hole, and then copy the hole to complete the pattern, preferrably using a linear or radial array to make short work of it. Finally, push/pull the plate to thickness, and the holes will go all the way through.
When trying to push/pull a circle to make a hole connecting two faces, and rather than make a hole you end up pushing a rod out the far side, it’s generally due to the two faces being non-parallel, leaving little remedy except to redraw them. Sometimes, though, you may simply overshoot the far side with the hole because you have made no inferencing reference to a point on the far side. If you’re looking more or less straight through the hole, you can stop the push with an On Face inference to the far face right before it disappears. If you’re at an angle where you can’t see the far side of trhe hole, you can stop the push on some other point on the far side, like a corner endpoint or an on-edge point.