Потому что это просто не может работать - из-за разного языка повествования.
Есть классический пример - у Булгакова Понтий Пилат идёт "шаркающей кавалерийской походкой". Нам, читателям, достаточно буквально трёх слов, чтобы понять, что Пилат - воин, всадник, кучу времени провёл в седле - то есть, на войнах. Он - опытный военный в возрасте. Это буквально обоснование для достаточной начальной характеристики персонажа.
В кино это не сработает. Даже если показать "ноги колесом" - зритель, не знакомый с верховой ездой на профессиональном уровне, просто не узнает эту походку. И для того, чтобы дать персонажу именно эту деталь - нужно будет ввести дополнительную сцену, которой в книге нет.
Или возьмём экранизацию комикса "Убийственная шутка". Казалось бы, что проще, да? Вот так выглядит последняя страница комикса.
А вот по этой ссылке: https://www.youtube.com/watch?v=PqbhpKnaBMI видео этого момента из экранизации. Это очень хороший пример, потому что эта экранизация во многом снята буквально покадрово - любую сцену из комикса можно найти в мультфильме с повторением самых мелких деталей.
Но в комиксе мы не знаем - Бэтмен смеётся или уже перестал, это смех весёлый или злорадный, убивает он Джокера или они просто замолкают. Мы работаем фантазией.
В экранизации же - этого ощущения нет. Всё слишком однозначно и понятно. И для того, чтобы сохранить эту загадку из комикса, в экранизацию надо было менять - например, сделать анимацию другой, закончить раньше, чуть-чуть изменить строение сцены или ещё что-нибудь подобное. И именно поэтому в мультфильме эта сцена не цепляет - способ повествования из комикса не срабатывает также хорошо на экране.
Так что идеально точная экранизация книг невозможна - просто потому что книги и фильмы общаются со своим потребителем разными способами, которые нельзя просто перенести со страниц на экран, обязательно либо потеряется качество, либо нужна будет какая-никакая переработка. Это главная причина. Все остальные, на самом деле, вторичны.
Спасибо большое за развернутые ответы!