Use “woman” as a noun, and “female” as an adjective. Don’t use “lady” unless you’d use “gentleman” for a man in the same context. (“This drug may cause beard growth in women.” “She will be the first female president.” “A lady never tells.”)
Referring to someone as “a female something” is fine, but referring to someone just as a “female” is depersonalizing. In everyday speech it tends to have a derogatory sound: “He arrived with some female or other in tow.” In medical writing it’s not rude, but it has a jargony sound: “Our study showed that 38% of females experienced ...” In some contexts, perhaps if you’re referring to women of all ages, you might choose to use “females” instead of writing something like “female infants, girls, and women,” but wherever possible, I would stick to “women,” “girls,” etc.
I can’t say that using “woman” as an adjective is wrong, because I see respectable writers doing it all the time. But I find it really unaesthetic: “Stress fractures are more common in women runners” (I recommend “female runners”). I think people are aware of the negative connotations of using “female” as a noun, and overcorrect by not using the word at all. Don’t worry, it’s OK to say that someone is female.
“Lady” for “woman” is . . . unnecessary? patronizing? Perhaps the AP Style Guide says it best: “Lady may be used when it is a courtesy title or when a specific reference to fine manners is appropriate without patronizing overtones.”
Not as jarring to my ear, but also worth mentioning is another guideline from AP Style: use “girl” only up until the 18th birthday. For adults, use “woman” or “young woman.”