Why do Biter Spawners appear inside my base in Factorio?

Solution 1:

Biters will expand their bases (something that I just learned). The Enemies Wiki page states:

Every 4-60 minutes, a group of 5-20 biters will leave their base to create a new base. This group will search for a suitable spot that's at least 3 chunks and at most 7 chunks away from existing biter bases. Once they have found a suitable spot the group of biters dies and forms a new base. This new base will first be very small (about one spawner and a few worms) but will get some additional spawners within a small area as time passes.

You said you have walls guarding the north and south portion of your base, but is it possible that any aliens could have got by it in any way? Are your walls completely impervious with no gaps? I would say that somewhere biters were able to get pass your barrier and made a base within yours. It's probably a very rare chance of happening, but it can happen. You will have to check your walls and make sure there is no way for biters to get by it. I would also consider increasing the amount of defenses you have so that no future biters can make their way in.

Keep in mind that if you have your wall connect to a body of water, make sure that the wall can no longer be placed any further. You may think that the water is close enough to your wall to the point where nothing can get pass, but if you can walk around the wall by walking into the water some, then it's not fully connected to the body of water.

Edit: Version 16.0 changed how the transition of terrain to water works. You can no longer build objects on these transition tiles (or walk on these tiles), meaning if you build your walls right up to the water, you should be fine.

Transition from terrain to water is no longer buildable, meaning entities can no longer be built partially on the water.