The reason this is messing up your shading is because Blender does not like the topology of your mesh. Blender favors Quad based topology. When you have a shape that has more then four vertices, it is called an Ngon; And lets just say blender does not like Ngons.
In order to fix this, I'm afraid there's a lot of work in it for you. there are a few ways to do this, but none of them are easy. The way that I recommend is manually changing all your Ngons into squares. To do this, first you need to go into edit mode, and find any edges on the inside loop that are not connected to an outside edge (see example picture below)
so just to be clear incase that didn't make sense, you want to keep the edges that are circled in the picture below:
and get rid of the edges that are circled in the picture below.
To start, you have to find all the outside vertices, and make cuts in them so the edges also go down into the inner loop. (see example below)
Make sure to do this with all the outside vertices, not just the ones I showed in the picture.
Next, you will need to go into edge select, select one of the edges that are not connected to an outside vertex, and press "G" twice on your keyboard. then drag the edge loop to the closest edge that is connected to an outside vertex. do this with all of the edges around the inside loop. (see image below)
I'm not going to do this to everything because as I said at the beginning, it can be time consuming.
When you have finished with that, the final step in order to get unwanted topology, go into vertex select, press "A" on your keyboard to select every thing. Then right click, go to "Merge" and click on "By distance". This gets rid of all vertices that are overlapping each other.
when this is done your topology will look a lot nicer and it will hopefully fix your shading.
I hop this helped! : )