Do military officers have to be US citizens?

Yes, an individual must be a current US Citizen to become an Officer in the US Military.