I'm new to Blender, I have the object shown on the first image (the one that is NOT selected) and I would like to create on it some holes using the boolean modifier. So I created the eight cylinders shown in yellow always on the first image to subtract them from my object.

Now if I select the object, add to it the boolean modifier and make the difference with those cylinders the surface of my object is not correctly modified. See the image below and compare it with the previous one.

Is it a problem of Blender or am I applying the boolean modifier in a wrong manner?
What is the correct way to use the boolean difference between two objects?
Thanks in advance.