do all cultures have same number of villages or is it completly random.
neither. Each culture has a different number of villages, and on each map generation the amount of villages is randomized between max and min values, which are different for each culture. So it is not completely random, but randomized within limits.
What comes to total number of NPCs generated, I really can't say. It is a long time since I coded the random world generator. Also, since the world generation is based on variables, and those variables can be adjusted from a version to another, it means that any number given might not be accurate for the future versions.