Не автор решил так знаки поставить — структура решила. Всë объясняется правилами. И везде знаки расставлены верно:
Он посмотрел на пепелище, которое окружало его, — какой ужас! — и руки бессильно опустились у него — вставка относится к существительному пеплище, но придаточное разрывает вставку и дополнение, поэтому придаточное нужно обособить с двух сторон, т. к. вставка к нему не относится;
Когда он начинает сомневаться в себе — а это с ним изредка происходит, — он пытается стать рационалистом — вставка относится к придаточному, поэтому запятой их друг от друга не отделяем и закрываем с правой стороны. Я не согласен с Лео по поводу запятой слева;
Проводя почти всё своё время неразлучно с матерью, потому что я и писал и читал в её отдельной горнице, где обыкновенно и спал, — там стояла моя кроватка и там был мой дом, — я менее играл с сестрицей, реже виделся с ней — вставка относится к обстоятельству в горнице, но их разрывает придаточное, к которому вставка не относится, поэтому обособляем его с двух сторон. Запятая перед вторым тире закрывает деепричастный оборот, в состав которого входит вставка (обстоятельство в горнице относится туда же, а вставка — это его «зависимое слово», поэтому вставка в его составе), поэтому отделяем вставку и от последующей части, относя еë к обороту.
Следует отметить, что если бы не было восклицательного знака, запятая бы ставилась и на его месте (перед обоими тире):
Он посмотрел на пепелище, которое окружало его, — какой ужас, — и руки бессильно опустились у него.
Перед первым тире стоит запятая я уже объяснял почему, а запятая перед вторым тире ставится между частями ССП. Вставка если не относится к следующей части, то отделяется от неë запятой.
Если же вставка относится к следующей части, то запятая только перед первым тире:
Он посмотрел на пепелище, которое окружало его, — какой ужас — и руки бессильно опустились у него.
Вставка относится к следующей части — не отделяем их друг от друга. Запятая перед первым тире стоит на двух основаниях.