Трудоустройство программиста на Python?
2. Нужны ли какие-то языки, фреймворки, помимо основного Python ну и базовых фреймов типа Django

Ну заходишь на биржу труда, ищешь вакансии, читаешь требования.

1. Насколько сильно нужно углубляться в язык, чтобы приблизиться к средней по рынку, допустим, СПБ з/п (около 100.000р в месяц)

100.000р в месяц это не про стажера и не про джуна, и вообще далеко не все получают столько даже после нескольких лет работы, ибо ЗП зависит не только от количества сделанного, но и качества сделанного, и для кого это было сделано. Внутренний рынок естественно дешевле, чем западный.
А для западного было бы неплохо знать английский на минимально-разговорном.
Ищешь вакансии, смотришь что требуется, что люди пишут, как пишут. Смотришь, сможешь ли также или лучше.

3. Насколько трудно будет устроиться на работу, имея необходимые знания и навыки, но не имея диплома и опыта работы в компании
Ну блин, никто кроме тебя не знает насколько тебе будет трудно устроиться на работу. Пока ты выучишься может что угодно случиться. Нет смысла спрашивать о трудоустройстве рандомных людей. Спрашивай у конкретного работодателя. Находишь вакансию, если считаешь что подходишь - шлешь резюме, обзваниваешь, напрашиваешься на интервью и там узнаешь подходишь или размечтался.

4. Вероятно лучше для начала выбрать тип фриланс-бирж, а не компаний?
Если ты с таким вопросом пришел на тостер, то фриланс биржа это вообще не для тебя. Там тебе не предлагают работу, а ты ее сам должен найти и выгрызти, и убедиться что тебя не кинут и не забыть оформиться и заплатить налоги. И вообще, все кто считает что они не хотят работать на дядю, и при этом сами не знают как искать и устраиваться на работу - витают в детских мечтах.
1) Начинать обучение программированию - надо не с языка программирования, а местных вакансий и компаний. Какой смысл учить допустим Python, если в твоем городе нет вакансий на Python, либо они есть, но там уже требуются опытные разработчики.

100к на Python в СПБ - это 3-4 года опыта работы у программиста. На начальном уровне если дадут 45-50 уже хорошо. Но нужно понимать, что начальный уровень - это когда заказчик дает тебе какой-то проект, какую-то задачу, и ты её начинаешь делать, задавая уточняющие вопросы по ходу. А чтобы так начать делать, надо, чтобы ты уже 2-3 проекта сделал самостоятельно и разобрался в том, как работать на python (например, самостоятельно сделать 2 сайта и захостить их).

2) Django - 100 нужно знать, также html/css/javascript/sql/linux. Это все реально выучить, если сделать собственные проекты.

3) Без опыта и диплома нереально устроиться. Поэтому надо нарабатывать опыт самостоятельно, делая свои проекты.

4) Кому ты нужен без опыта на фриланс-бирже? Вот заказчик говорит, добавь на мой проект Django скидочные купоны. Это подразумевает, что ты пишешь модель данных под купоны, накатываешь миграцию, добавляешь интерфейсы в админке, формы для купонов на фронте и так далее. Если ты этого уже не знаешь, то как ты будешь выполнять заказ?

___

Если коротко, посмотри вакансии по своему городу, где нанимают младших разработчиков, либо просто где вакансий побольше, и компании выглядят более менее адекватно. И садись учить нужный им стек, делая свои проекты впридачу. Если окажешься смышленым и не соскочишь на первых трудностях, может быть через год другой сможешь устроиться куда-нибудь в поддержку, тестирование или даже разработку. А там года через 3-4 дорастаешь до 100к.

__

P.s. Какое-то наивное убеждение, что ты вот что-то там поучил, и тебе сразу стали платить 100к - просто вверх наивности, ибо этого нет. 

Это, примерно, что вот есть в Москве пластический хирург, который делает крутые операции звездам и получает по 3-4 миллиона в месяц. И все начинают думать, что вот я полистаю медицинский справочник и начну также получать 3-4 миллиона в месяц.

Почему-то пример с медициной все понимают, а про программирование почему-то верят в сказки про 100к и "углубление в язык".