1) Junior - ов действительно больше чем вакансий для них, по мидлам примерно количество вакансий = сосикателей, сеньоров не хватает.
2) Бывает скучно, когда овладел каким то инструментом и каждый день применяешь, но во фронтенде много всяких фишек и приколюх выходит каждый день, так что не соскучишься)
3) Программист в первую очередь это не тот кто выучил React или еще что то, это тот кто умеет решать задачи в конкретной области, например фронтенд. Сегодня тебе дадут задание - надо реализовать интерфейс на Angular и ты должен разобраться и сделать, для этого нужны базовые знания которые не скоро устареют - HTML, CSS, Javascript и понимание как работает браузер. Все технологии все равно не выучишь, надо уметь разбираться в них по необходимости, к счастью для этого в большинстве случаев есть документация
Даже на собеседованиях в нормальных компаниях редко гоняют по библиотекам и фреймворкам, в основном проверяют знания JS
4) Интересная работа за хорошие деньги в хороших условиях.