A guild can't realistically function on 20 people alone. Real life happens. Emergencies happen. Work happens. Internet issues happen.
You need to have a bench, but you can't recruit "for the bench" People won't stay if they don't get play time, as a leader its your duty to give people play time.
Coming up with a system that works for your guild is important.
Below is what I use to keep track of how many bosses players are in per week, who hasn't killed a boss at all, and what loot players still need. This kind of thing works for us. You might not always get it right, but having open communication with your players, so they can tell you what they need, or can ask to be in on something there not, is something that I've grown pretty fond of. Having that kind of thing usually keeps people happy in my experience.
See here
Thats how I feel about it anyways.