Think of the penalty from population not as a "negative modifier" but as a base value. For example, when you start out with 1B people, you have a base morale value of 99. When you add a +50% morale bonus to that, you would get 148 (148.5, but rounded down). However, when you hit 20B people, your base value is 40 morale, so a 50% morale bonus would only raise it to 60%. At 25B people, your base value drops to 20 morale, and a +50% morale bonus would only raise it to 30% morale. This is why you will need more and more morale buildings as you continue to build farms...