It's more complicated than that. A mansion consists of "wings" - rectangular blocks, each with its own roof (roofs are important!). Wings are grouped into "clusters" - sets of wings whose roofs can be merged "organically". When doors are generated, each cluster is considered independently. Depending on the area of a cluster, the generator tries to place one or more entrance doors, but there can't be more than one door per wing. The algorithm picks wings of the cluster one by one trying to spawn doors in them (it's not always possible) until it gets the required number of doors. To spawn a door in a wing the generator first check if there is a "marked" door in that wing. If there is, that marked location is used, otherwise a random valid location is chosen. Sometimes at the end of the process some marked doors are left unused. In this case they are added despite the fact that there are enough doors already.
Why it may be required to have more than one entrance in a mansion? I don't really remember - it was implemented long time ago. Probably I didn't like large mansions having a single inconspicuous door.