It's not a requirement - I give you: .RECIPEPREFIX
> If you prefer to prefix your recipes with a character other than tab, you can set the .RECIPEPREFIX variable to an alternate character
That said, how hard is it really to disable tab expansion in your editor? I have a block of configuration dedicated to the different indentation requirements of different programming and configuration languages. In more modern editors, I don't even have to do anything at all to edit Makefiles with tabs - they come pre-configured to do the right thing.
So yes, eliminating tabs (or rather the execrable requirement of using tabs) was absolutely a prime goal.