Theory: Ashley and Kaidan's ranks were swapped during development of ME1
Gunnery Chief is a very senior enlisted rank typically held by 40+ year-old lifers approaching the end of their career
Lieutenant is a junior officer rank typically held by young, ambitious climbers at the start of their career
Kaidan is consistently depicted as a 40+ year-old lifer approaching the end of his career
Ashley is consistently depicted as a young, ambitious climber with something to prove
I think Kaidan was originally written as the grizzled old-salt chief who's been around the block before and would've acted as Shepard's sergeant-major, while Ashley was intended to be the headstrong green platoon commander who got her whole unit slaughtered (thus mirroring Shepard's own Sole Survivor background), but their ranks got switched around sometime between the initial story draft and final voiceover script.
Thanks for coming to my Ted Talk.
e: Woah, this kicked a hornet's nest. Some thoughts:
Kaidan and Ashley's canonical ages (32 and 25, respectively) are arbitrary numbers that would not have been fixed in place until very late in the game's development when the script was finalised for recording (and even later if they did continuity retakes)
The romance system by definition came far later in development than the basic character and plot outlines, and I'd actually argue that this nonsensical rank fuckery which contradicts the game's own lore is evidence of Bioware being forced to clobber existing characters into romance options because they simply didn't have time to write new ones
Ashley's voice actor sounds much younger than 25, and there's an awful lot of salt in Kaidan's pepper for a 32y/o
Kaidan's background is written with the same nostalgic days-of-yore tone as Anderson's, which leads me to believe it was originally planned to have taken place much earlier (ie, from during or shortly after the First Contact War to around the time Anderson was disqualified as a Spectre candidate), with the dates simply changed later
Kaidan both speaks much more informally with Shepard and has far more unique dialogue with Anderson than Ashley, which implies they've known one another for far longer than just the events of the games - almost as though they were originally written as the Normandy's command triad (CO, XO, and seniormost Chief)
Kaidan is likewise presented as around the same apparent age as Anderson (despite what the dates in the Codex would imply), and as a Gunnery Chief would be at the same rough point in his career as an enlisted man as Anderson is for an officer as a Captain (army/marine Colonel)
The gulf between an enlisted recruit and a Gunnery Chief is far too wide for Ashley's "my family connections got me advance promoted" story to make sense in-universe, but conversely the gulf between Ensign and Lieutenant isn't
On a narrative level, Ashley is depicted as a young, brash woman still trying to square her beliefs and convictions with reality (a sensible character arc for a junior officer, but not for a senior NCO who's already been there and done that years ago), whereas Kaidan is depicted as an older, wiser man hardened by his experience and much more aware of his place in the universe
Likewise, Gunnery Chief is primarily an administrative rear-echelon job whereas marine Lieutenants are platoon leaders - Ashley is very firmly depicted as a somewhat naive boots-on-the-ground frontline soldier who resents paperwork and bureaucracy, while Kaidan is a level-headed paper-pusher who understands, if not necessarily likes, the power of The System