Why can't I punch a hole through a mesh?
Booleans are not always reliable when modelling. Even when your Boolean and booleaned mesh both have almost the same mesh densities, problems always show up. 

I applied the solidify modifier on your mesh and then changed the Boolean method to carve rather than bmesh. Although it could've worked if you put the Boolean modifier before the solidify, but in your case it doesn't work.

To make this work you have apply the solidify modifier and then change the boolean method to carve. If you don't want the internal faces to have the red material, change the material of the cutter mesh to the material of the mesh being booleaned.



The Blend file: