Добавление анимации на префаб из другого скрипта?
Зачем вы анимацию добавляете в рантайме? Префаб на то и префаб, что его можно настроить заранее в редакторе.
На первой картинке у вас обведён Animator Controller, он вставляется в компонент Animator. Компонент Animation, который вы ищете на деревьях, это старый способ анимирования объектов, он не совместим с аниматором.
Если вы внимательно посмотрите на документацию к GameObject.FindGameObjectsWithTag, то заметите, что этот метод в примере вызывается в старте. Более того, в консоли вам должны были написать:"FindGameObjectsWithTag is not allowed to be called from a MonoBehaviour constructor (or instance field initializer), call it in Awake or Start instead."
Вы неправильного использовали FindGameObjectsWithTag, поэтому массив деревьев у вас оказался непроинициализирован, что и привело к исключению.
Полезные ссылки:Официальные туториалыWhat is a Null Reference Exception?Разрешение вопросов, связанных с исключениями: Sys...
Зачем добавлять анимацию дерева из героя? Создайте анимацию дерева на дереве.
А вообще анимацию нужно присваивать в самом скрипте. Объявите анимацию как public и перетяните анимацию из вашей папки на нужную строку в скрипте. 
Зачем создавать массив GameObject, если можно использовать лист? Зачем перебирать массив с помощью for, а не foreach? Какой вы компонент выбираете на дереве? Он там вообще присвоен? 
Очень много очевидных ошибок. Учите язык. Начните с этого: https://professorweb.ru/my/csharp/charp_theory/lev...