The sentence should be revised to correct some grammatical issues. Here’s a corrected version for each option:
1. "The ancient city found early could have been home to between 30,000 and 50,000 people."
2. "The ancient city found early might have been home to between 30,000 and 50,000 people."
Between requires two numbers to indicate a range (e.g., between 30,000 and 50,000).
Which is better: "could have been" or "might have been"?
* "Could have been" suggests it was possible for the city to support that many people but isn’t a certainty.
* "Might have been" suggests a tentative estimation or hypothesis about the population.
Both are grammatically correct, but "might have been" is slightly better for indicating a historical guess or estimation.