Как учить программирование, чтобы понимать его и быть хорошим программистом?
1) Нужно ли понимать как работает компьютер на самом низком уровне? Как кодируются и обрабатываются сигналы в процессоре и как выводится ответ на экран?
Судя по тому, что у вас выставлен тег "веб-разработка" - нет, не надо.

2) Нужно ли обязательно знать "исподнюю" языков программирования, то есть как устроен и как работает интерпретатор или компилятор того или иного языка? Где он хранится в программе-обработчике и как взаимодействует с ОС и компьютером в целом?
Тоже нет, зачем тратить время на такую фигню, если можно сразу пойти рубить сотни тысяч на фрилансе?

3) Нужно ли хорошо знать математику?
Нет, это даже вредно.

4) Нужно ли хорошо знать английский язык?
Нет, на Апворке можно через Гуглтранслейт спокойно общаться.

5) Каким образом лучше учить программирование( в частности веб-разработку: сайты, приложения и т.д.) и в какой момент можно смело сказать себе: "Я - программист", ведь конечной точки нет, верно?
Как заработаете свой первый миллион на jQuery. то есть, где-то через полгода.
1) Нужно ли понимать как работает компьютер на самом низком уровне? Как кодируются и обрабатываются сигналы в процессоре и как выводится ответ на экран?
Вам нужно определиться сперва со сферой применения языка, и с тем какой язык для чего нужен, т.к язык это прикладной инструмент - и сейчас Ваш вопрос звучит так - " у меня есть тарелка(бизнес задача), тарелка разбилась(есть проблемы в бизнес задаче), из инструментов нужен клей(назовем клей "питон", он отлично подходит именно для решения данной проблемы), но вы берете не клей питон, а берете молоток ассемблер, изучаете как этот ассемблер условный работает, алгоритм удара, и в конце концов вы и толком не постигли дзен удара молотком, и еще и с бизнес задачей обосрались, так как не изначально не выбрали нужный инструмент, а сразу полезли в испытательные дебри хватаясь за всё сразу.

Нужно ли хорошо знать математику? Нужно ли хорошо знать английский язык?
Если вы хотите расти как специалист - нужно, если вам хватает условных 50к в месяц до конца жизни, можно и программирование не учить.