Почему получаю ошибку Maximum call stack size exceeded?
У вас тут идет рекурсивный вызов геттера и сеттера (вы из геттера age вызываете геттер age). Что бы понять что значит эта ошибка - читаем как работают рекурсии и что такое "стэк вызовов".
Установка this.age вызывает сеттер  this.age в котором устанавливается this.age который вызывает сеттер  this.age и ^.