I'm not used to two consonants changing sounds. It's usually just one of them that changes, so just to verify, is what I heard correct?
This is nasalization applied twice.
First, 섭리 > 섭니. Korean Standard Pronunciation, Chapter 5 Assimilation of Sounds, Clause 19, Attachment reads (English translation by myself):
받침 ‘ㄱ, ㅂ’ 뒤에 연결되는 ‘ㄹ’도 [ㄴ]으로 발음한다. 'ㄹ' connected after syllable-final 'ㄱ,ㅂ' is pronounced [ㄴ].
Then, 섭니 > 섬니. Same resource, Clause 18 reads:
받침 ‘ㄱ(ㄲ, ㅋ, ㄳ, ㄺ), ㄷ(ㅅ, ㅆ, ㅈ, ㅊ, ㅌ, ㅎ), ㅂ(ㅍ, ㄼ, ㄿ, ㅄ)’은 ‘ㄴ, ㅁ’ 앞에서 [ㅇ, ㄴ, ㅁ]으로 발음한다. Syllable-final 'ㄱ(ㄲ, ㅋ, ㄳ, ㄺ), ㄷ(ㅅ, ㅆ, ㅈ, ㅊ, ㅌ, ㅎ), ㅂ(ㅍ, ㄼ, ㄿ, ㅄ)' are pronounced [ㅇ, ㄴ, ㅁ] each, in front of 'ㄴ, ㅁ'.
So there is nothing irregular about this, and you heard it very correctly. Indeed, it is the standard pronunciation according to the Standard Korean Language Dictionary.
As far as I know, there are two typical ways in pronunciation of words : Tensification - it need a strong muscle and 비음화 - sound from nose.
First, for 걱정, 걱쩡 (tensification). We speak strongly.
And 섭리 -> 섭니 -> 섬니 : First change is (the initial sound of a syllable)-law.
( not 비음 ) + 비음 -> 비음 + 비음 so that ㅂ+ㄴ -> ㅁ+ㄴ