Ты ничего не возвращаешь из своей функции, поэтому она возвращает undefined, тот return где рекурсивно вызывается функция, относится к колбэку, который передается в fs.access, как исправить? Нельзя просто так синхронно вернуть данные из асинхронной функции, можно вернуть промис, и подписаться на его resolve, или пробросить колбэку внутрь, который нужно будет дергать по окончанию работы