Perhaps it might have to do with entertainment being available to your settlers? This was the case for me.
It seems that just setting up the basic needs isn't enough. You have to add in features to keep the settlers clean/washed (bathtub, soap, dishrag, bucket, Abraxo minimum), healed (a level 1 Clinic at least), and a place to relax & enjoy some form of entertainment that is not connected to the same space as where they sleep (for example: a radio with couches to lounge around; throw down a chessboard or a Blast Radius game on a dining table; put down some ashtrays and a cigarette machine; set up a pool table and make sure to put down 1 of each type of ball, 2 pool sticks, and a rack; set up a work-out space & put down some of those barbells you find lying around the Commonwealth; set up a magazine rack & put your collected Grognak, Mass. Surgical, etc. in the rack for them to read; put up some disco lights and a jukebox with some couches & enough space for a dancing; etc.). Also helps to decorate the walls.
Also, they need enough seating around the settlement to stop b!tching about feet hurting, back hurting. Usually gathering these around a Level 3 Bar is best, as they will gather there after work hours for some fun. Might want to make this area exciting for them, too, with some cafe tables/benches, a radio, lots of lights, etc. That always seems to do the trick for me to raising happiness.
Nutshell: you might have to scale back on settlers & defense there to fit he rest (I can squeeze 11 settlers into the space & be able to give them enough fun stuff to do, food, water, electricity, beds, bathroom, a Brahmin pen, trader stalls that they are almost 100% happy w/up arrow all the time).