Boolean modifier is not applied to the array objects
According to some other answers, this is due to non-manifold geometry. Those spheres are not connected to form one closed, watertight object that can be subtracted from the cylinder.
I have a similar issue with a simple array of nine (3x3) spheres subtracted from a plane with a solidify modifier.
This is a rather important and annoying shortcoming of the Boolean modifier, IMO.