After performing boolean operations on a mesh, in almost all cases you are going to have n-gons or trainagles near the border. These n-gons and tris create a lot of nasty shading issues. Sometimes though, if you want the border to remain sharp, then just enabling auto smooth solves issues most of the times. If the border is going to be subdivided or something in the future, a cleanup of the border is compulsory. There is a lot of content regarding n-gons and shading issues available online. So I won't explain that.
To enable auto smooth, go to Object Data properties > Normals > Check Auto Smooth.
Alternatively it can be enable while in object mode by right clicking the model and selecting "shade auto smooth".
This is the result I got after enabling auto smooth on both the meshes:
