I'm a Persian, and we consider bread countable in Persian language. I wonder why is bread considered uncountable in English language?
In English, "bread" refers to the substance in general. You can "package" it in different forms, and those "packages" are countable. Usually we count bread in loaves or slices. So you can talk about "2 loaves of bread", or "2 slices of bread". But you can't just say "2 breads" because we don't know what unit of measure you are using.
It's like if someone said, "I have two waters", what does that mean? 2 glasses of water? 2 gallons? 2 barrels? You have to specify.
To make things more confusing, there are some substances like this where there's an assumed unit of measure. Like is you say, "I have 3 Cokes in the refrigerator", we understand you to mean 3 cans or 3 bottles of Coke.
At one point, it was grammatical to use bread countably (to mean “a loaf of bread”). For example, in the Coverdale Bible (1535):
At his heade there was a bred baken on the coles.
(This is Kings 19:6.)
However, this sense of the word is long obsolete. It’s difficult to say why this happened; my best guess would be because this sense of the word was less common than the main, uncountable sense.
In other words, it’s just not currently idiomatic.
Bread in most English speaking countries is formed in loaves. And here you see why bread is uncountable. There is another word that means the countable equivalent: loaf/loaves.
In Iran, much bread is flatbread, and so not in loaf form. It is not surprising that the equivalent word is countable if "bread" means "naan".
When talking about the various flatbread styles, the words are generally countable
Naans rotis chapatis pitas tortillas wraps etc.