Physically, they mean the same. However, the logical structure is different:
"Она никогда не пропускала лекцию" refers to the whole period of time due to "никогда": [for the entire period of her study] she has never missed a lecture. So, it is perceived as a long continuous process (although, it is negated).
"Она ни разу не пропустила лекцию" refers logically to a single event of missing a lecture. The sentence says that event did not exist due to "ни разу": there was no a single event when she missed a lecture. So, it is perceived as a momentary action (which did not happen).
I agree the both approaches finally result in the same logical consequence. So, they are just two different ways (equally possible) to view the reality. But a language learner needs to understand how those ways are different linguistically.