Just add one more step to increment the "No." column:
z <- data[rep(seq(nrow(data)), data[,2]), ]
z$No. <- z$No. + sequence(data[, 2]) - 1
z
# No. count gender
# 1 23 2 Male
# 1.1 24 2 Male
# 2 52 4 Female
# 2.1 53 4 Female
# 2.2 54 4 Female
# 2.3 55 4 Female
# 3 75 3 Female
# 3.1 76 3 Female
# 3.2 77 3 Female