Donor - players who have the ability to donate to players who are in the clan war. You can also assign this position to those generous players who are willing to donate to everyone even if that player is in the war or not in the war. But Donors can't join in the clan war and the number of members that can have this position should have a limit depending on how many players there is in your clan.
10 clan members = 5 donors,
20 clan members = 6 donors,
30 clan members = 7 donors and so on.. The limits are applied so no one abuses the power to donate in clan wars even though you're not in it.

Soldier - players who have this position are prioritized and are automatically picked to fight for the clan in clan wars. There are no limits on how many players you can assign this position to, as long as the number of players you've assigned is a multiple of 5. If there are not enough Soldiers assigned (e.g. 24 or 17 Soldiers) then the game will randomly pick players (except Donors) in your clan, as usual.