Почему массив глобальной переменной стал пустым вне функции?
Асинхронные запросы.

console.log(arrName) - выводится раньше, чем выполнится всё то, что находится в array_cleaned2
Потому что вы заполняете его внутри callback-а, который на момент вывода console.log(arrName)
еще не был вызван.
Поставьте вывод после строчки
arrName.push(array_2);

чтобы убедиться, что сначала выводится пустой массив, а потом уже он начинает заполняться