1. Ты передаешь обычную строку 'name', то есть, по сути, выражение a[field] > b [field] можно представить как a['name'] > b['name']
2. > Как эта строка понимает что нужно взять отсортированый массив?
users у тебя уже отсортирован в строке выше
users.forEach(user => console.log(
user.name));
а в дужках просто стрелочная функция, исключительно для того чтобы вывести значения, так как foreach нужна функция?