why boolean not working with other modifier
You have fill "Only Rim" enabled.  This fails to draw anything but the rim.  In other words you're trying to Boolean Difference a single plane.  Difference is calculated based on normals.
See: https://docs.blender.org/manual/en/dev/modeling/modifiers/generate/solidify.html