The purpose of each is totally different.
Blueprint has a lot of ‘procedural’ structures, such as loops.
A material is much more like one big function. And because it’s a sort of ‘definition’, not procedural, there is no room for things like variables and loops.
( Although variable do exist to some extent ).