No reason whatever...
I'm just pointing out that "form follows function".
If you have twenty men in a unit, they are not commanded by a general, unless they are all colonels. And you wouldn't have a front-line fighting unit composed of all colonels!
The only exception - the only time you come across a military unit where the lowest rank is an officer, is in an aviation unit, where all the members are pilots! Now, this does bring to mind an excellent but sadly "Foxed" TV series called "Space: Above And Beyond" in which a squadron of Space Marine pilots often fought on the ground as an elite unit. The lowest ranked member of the squad was a 2nd lieutenant, I think.
If the marine contingent on the ship is something like that, then it works to have them all as officers, with a senior officer in command.
If we have 18 enlisted men and a sergeant, it doesn't make logical sense for them to be commanded by a senior officer, who should be commanding a much larger unit!
My other suggestion is to create a totally new rank structure, the way the USSR did in the 1920s.
So, instead of calling him Lieutenant, Captain, Major or whatever, we call him Platoon Leader.