It is possible to be deeply convinced of something and still be mistaken. Ideally, if you block a number, it should block both calls and messages. But that does not make it “one functionality”. The code for making calls ring except when they are from a blocked number, and the code for displaying text messages except when they are from a blocked number, will be two separate pieces of code. And the UI for blocking a number from the Phone app, and the UI for blocking a number from the Messages app, will be one or two more pieces of code. Those three or four changes might be implemented all at once, but they don’t have to be.
It is possible to be deeply convinced of something and still be mistaken. Ideally, if you block a number, it should block both calls and messages. But that does not make it “one functionality”. The code for making calls ring except when they are from a blocked number, and the code for displaying text messages except when they are from a blocked number, will be two separate pieces of code. And the UI for blocking a number from the Phone app, and the UI for blocking a number from the Messages app, will be one or two more pieces of code. Those three or four changes might be implemented all at once, but they don’t have to be.