Несколько причин, по которым в русском языке закрепилось сочетание «шн» в некоторых словах:
- Старая московская традиция произношения. 2 В конце XIX — начале XX веков многие слова произносились ещё с «шн», например: булошная, беспроволошный, бутылошный, взятошник, войлошный, молошник, буднишный, бруснишный, беспорядошный и т. д.. 2 По современным нормам такое произношение является устаревшим, в ряде случаев — просторечным. 2
- Влияние морфологического фактора. 5 Если звук «ч», входящий в сочетание «чн», может вступать в чередование «к/ч» (в каких-либо формах этого же слова или однокоренных с ним словах), то возможно произношение «чн». 5 Если же такого чередования нет, то возможно только произношение «шн», безо всяких вариантов. 5
В современном литературном произношении «шн» обязательно в немногих словах, в ряде других оно допустимо наряду с «чн». 2