Потому что звук, который некогда обозначался буквой Ъ, ушёл из языка приблизительно в ХІІІ веке. Это событие получило название падение редуцированных. Так получилось, что раньше буквы Ъ и Ь, которые, к слову, назывались ер и ерь, обозначали особые гласные звуки. Ъ обозначал краткий звук [о], а Ь — краткий звук [и], поэтому до падения редуцированных писали и говорили не сон, а сънъ, не день, а дьнь. Как можно понять, слогов тут было не один, как сейчас, а два. Чтобы приблизительно понять, как это читалось, приглашаю прислушаться к неясному гласному звуку в словах типа Пёт[ъ]р, вих[ъ]рь, смыс[ъ]л. После же падения редуцированных Ъ в сильных позициях слился по произношению с О, а Ь — с Е. В слабых же позициях эти звуки перестали произноситься. Но кое-что осталось. Во-первых, мы получили ряд корней, которые имеют так называемую «беглую гласную» — сон → сна, но нос → носа. Во-вторых, Ь переосмыслился как знак, обозначающий мягкость предыдущего согласного, а Ъ, вследствие того, что раньше между словами не ставили пробелов, остался на конце слов, оканчивающихся на твёрдую согласную, поскольку в этой позиции он помогал отделять многие слова друг от друга. Так, на конце слов, он и просуществует вплоть до 1918 года, пока не будет проведена реформа русской орфографии.
Кстати, Ъ на конце слов совсем полностью не исчез. Так получилось, что в определённых позициях мы имеем такие варианты предлогов: с → со, под → подо, из → изо, над → надо, от → ото, об → обо. Это, как раз таки эхом ещё с тех стародавних времён нам отзывается тот самый Ъ.
P. S. Не могу также не отметить и то, что существуют слова, где Ъ всё-таки произносится. Дело в том, что некоторые заимствования из арабского, могут передаваться для верности прочтения вот так: Бараъ или Муъминнат. Тут с помощью Ъ пытаются передать так называемую гортанную смычку [ʕ] — звук, который получается перед а в не-а.