the Ranks work like this.
Everyone starts off at the lowest rank, for every X amount of men and woman at the lowest rank (I think it six, but can be wrong) a single slot at the next higher rank is filled. When that rank gets X amount, a slot on the third one is filled.
Also, when a officer is newly promoted, they get a N next to their promotion score for a few months. They can't be promoted till that goes away. So it may be that you have slots that can be filled, but everyone is newly promoted and you have to wait a bit before they are ready to be promoted again. The only way you can fill the higher ranks is by getting more officers by building more academies.
Also, there is no 2nd LT. in the US Navy.