One of the most important goals of standard phraseology in radio communications is to ensure that words are distinct enough that a momentary garble doesn't ruin understanding of the transmission. (This is also why a phonetic alphabet is used -- Alpha, Sierra, Foxtrot, etc., rather than just saying the letters A, S, F, ... Imagine if ATC told you on voice something like "taxi to runway 7 via S, hold short F4" and now instead make it "taxi to runway 7 via Sierra, hold short Foxtrot four". Which is less likely to be misinterpreted?)
Another goal, of course, is to have a limited vocabulary of distinct terms that can be used to state things between people who may not be all that familiar with the language.
As you correctly note, "ascend" and "descend" sound very similar. If you for whatever reason miss out on the first syllable, they're outright identical! I'd call it a Bad Thing (tm) to have a single syllable potentially making the difference between just another day at the office, and a mid-air collision.
So when faced with the choice of whether to say "climb" or "ascend", in light of the fact that we're already using the term "descend", it makes sense to use a clearly distinct term for the opposite case to clearly differentiate the two. Hence "climb". The same argument can be applied to the case of both terms being selected together, without either having been selected before the other.
As an aside, "maintain" is also clearly distinct from both, further reducing the risk of confusion. If your altimeter reads 5,000 ft and are asked to "climb to 4,000 feet" or "maintain 6,500 feet" (as opposed to climb and maintain), then you know that someone needs a reality check, and can ask for clarification, even if that request for clarification is only along the lines of "say again assigned altitude and QNH".