Почему такая разница в рейтинге языков программирования?
Разница из-за различных методик сбора данных. Рейтинг TIOBE строится на подсчете количества поисковых запросов, содержащих название языка (https://ru.wikipedia.org/wiki/Индекс_TIOBE). Github, полагаю, ориентируется на количество коммитов в проекты, написанные на соответствующих ЯП. Stackoverflow, скорее всего, ориентируется на теги.
Особо зацикливаться на эти рейтинги, честно говоря, не вижу нужды; максимум, на что они годны - это служить аргументом в разных фаллометрических баталиях на тему "ЯП1 vs ЯП2". В реальной жизни лучше ориентироваться на количество/качество предлагаемых вакансий (если хочется программировать профессионально) или на личные предпочтения (если хочется программировать "для души").
Работодателям.