To dumb it down, and this is not because I think you are dumb, it is just as matter of speach.
The main reasons I can think of, of the top of my head, when you mention "the more people, the more the lag", is because you are either using standard settings, or you increased some settings. Specifically the zombie amounts. The more zombies you allow at any given time, the heavier the toll on the server. 8 zombies normally, and 12 on horde night, with 10 players online, will tank any server. even the ones you can rent with a capacity of 100 players. Players doesnt really affect server load that much (directly), but the amount of zombies? That will affect it. meaning, if you have 10 players online, you can potentially have 80/120 zombies non stop. And when a server has to keep track of that many? well, how good are you at multitasking 80/120 jobs? ;-)
Then there is the amount of "unnatural blocks". And by that, i mean the blocks placed by players. when you have 200k+ blocks that players made and placed, they also need to be rendered from time to time. and the more blocks people put down, the heavier the toll.
Finally, there is the map. The more that gets explored AND changed, the more lag you will experience, when the chunks are loaded. Not much in the start, but you will notice it eventually.
You can check for yourself. Alert your playerbase, that you want to test something during primetime. Current game versus a full wipe. You will notice how smooth everything is, when there has been a wipe, and after 200 ingame days, everything gets more sluggish.
If you have a local machine as host, you can always check server FPS when ther is a high load (many players/zombies). it should always be 25+, so when it drops below that, the server is experiencing problems.
So while the game has been optimized several times, there is only so much you can do. Turn down amount of roaming zombies and horde zombies. You cant do much about mission zombies, though.
I hope this helps clarifying a few things for you