Потому что она не всегда очень прибыльная, не всем интересная и не для всех "не сильно сложная" профессия.
К тому же, в зависимости от региона количество и разнообразие работы программистом может отличаться. Чем ближе к Москве, тем, как правило, больше вакансий. Чем дальше от Москвы, тем вакансий меньше.
Стать программистом можно либо благодаря обучению в ВУЗе, либо благодаря самообразованию. Не все смогут поступить на программиста в ВУЗ (набрав достаточно баллов по ЕГЭ), и не все смогут самостоятельно научиться программированию - для этого нужна мотивация, интерес, усидчивость, время и определенные способности к логике/абстракциям.
Тем, кто уже умеет программировать, может казаться, что это просто, но достаточно попытаться научить человека не из IT программированию, чтобы понять, что многие вещи, которые для нас кажутся очевидными и тривиальными (потому что мы к ним уже привыкли), для других таковыми не являются.
И, наконец, программистов не так уж и мало. Хитрость в том, что в определенный момент вам нужен не просто программист, а хороший программист, который умеет работать со сложными технологиями, разбирается в своей отрасли и ее трендах. И вот тут их становится мало.