FAA AIM Article 5-2-4 indicates a go-around is mandatory if another airplane is on the runway:
NOTE−
ATC will normally withhold landing clearance to arrival aircraft when another aircraft is in position and holding on the runway.
i. Never land on a runway that is occupied by another aircraft, even if a landing clearance was issued. Do not hesitate to ask the controller about the traffic on the runway and be prepared to execute a go−around.
Since the pilot in command has the final responsibility to ensure compliance, a go-around is in order whenever that PIC believes the required separation will not be maintained.
There is no firm rule on when to initiate such a go-around. In some cases it may be prudent to go around from the flare if an airplane's tail has not yet cleared the runway ahead. In low-visibility situations, an earlier go-around would be prudent.