После n таких добавлений в массиве оказываются n ссылок на объект item. В момент вывода item уже принял состояние "последнего объекта", как вы его назвали, поэтому и получается вывод одного и того же n раз.
Вариант решения - объявлять и инициализировать item не глобально, а внутри коллбека, в котором идёт инициализация полей объекта и его добавление в массив.