Потому что в первый раз вы действительно экспортируете объект, содержащий свойство:
module.exports = { /*...*/ };
И вы не можете построить этот объект. Однако вы можете получить свойство Person и сконструировать это:
const Person = require("person").Person;
new Person();
Вы также можете деструктурировать импортированный объект:
const { Person } = require("person");
new Person();
... но это имеет смысл, только если туда экспортируются другие вещи, иначе я бы пошел с v2.