1) Ведь не достаточно знать один язык?
Недостаточно.
Должен быть один язык основной (компилируемый язык). Это нужно, чтобы один раз написать программу, которая будет надёжно работать сто лет без изменений.
Должен быть один язык дополнительный (скриптовый язык). Это нужно, чтобы быстро писать скрипты по автоматизации рутинных действий (не только мелких, но и комплексных), которые нужно периодически менять под обстановку.
Их надо знать хорошо оба.
Остальные языки можно знать настолько, насколько нужно.
Многие советуют начать с SICP. Так ли это?
Я бы не советовал. Она довольно слабая, так как сделана для средних (тупых) американцев. Для развития мышления надо изучать саму математику (не школьную, конечно).
Если ты тупой, эта книжка тебе ничего не даст, а математику ты не освоишь вообще. Если ты умный, эта книжка не даст и малой части того, что нужно знать.
3) Обязательно ли при изучении программирования нужно чётко представлять про интерпретатор и системы счисления, как внутри всё работает и т.д.?
Да. Готовься к тому, что это придётся узнавать. Потому что, когда надо будет делать программу, ты должен будешь знать всё к тому времени и времени на изучение неизученного не будет.
Это как будто ты приезжает во Францию и тебе говорят, чтобы ты ехал в столицу, а ты спрашиваешь "простите, а как называется ваша столица, чтобы я знал куда ехать?", а тебе не говорят. Это нужно было учить в школе, как и остальные 100500 всяких нюансов о мире.