How to fix Boolean modifier shading issues on a convex surface?
You can add Weighted Normal modifier and if you didn't enable Auto Smooth, add Edge Split modifier or enable it and change the value until you have a good result. You can also remesh and sculpt it.