Обращайтесь к существующему компоненту через ссылку, потому что файл Health.cs описывает тип, а конкретное здоровье принадлежит экземпляру на Player. При готовой ссылке на GameObject используйте player.GetComponent<Health>(), сохраните результат и после проверки на null вызовите Damage(10).
Например, Health health = player.GetComponent<Health>(); и затем if (health != null) health.Damage(10);. Сам player тоже должен быть назначен до этого обращения. Если компонент не найден, проверьте, на каком объекте он установлен: GetComponent ищет на указанном GameObject, а не автоматически во всех его детях.
Не создавайте MonoBehaviour через new Health() ради такого вызова. Это не даст ссылку на уже работающий компонент Player. Для повторяющихся обращений получите и сохраните ссылку при подготовке, а не ищите её каждый кадр.
Ответить на вопрос