In a nutshell, it is because people talk.
Information asymmetry happens at the firm/consumer level. The consumer does not know exactly how much it costs the firm to produce a given product, nor are they able to discern the actual quality of the product without expert knowledge. But what they do know is the price of the product, and whether or not individuals within their network have purchased the product (think reviews on amazon).
In a perfect discrimination situation, each individual will get their individual price for the product. If I buy a widget at $20, and learn that it cost my friend 10, I wouldn't buy the widget. I'd ask my friend to buy that widget for me. Hence the blocks. An analogy would be cars, why there are different 'trim' levels for at its core, the same car. Some people want alloy wheels, others want tinted windows. Different combinations of trim constitute different classes (blocks) and as a result, the firm can sell these seemingly similar products under different price ranges (Basic < Limited Edition)
At the same time, from a production perspective, the marginal cost for each product differs when you scale up or down. Your 100th widget will cost less on average than your 1st widget and vice versa. As a result, even if the monopolist wanted to, perfect price discrimination would be impractical given the varying production costs.
This might not capture the your question in full, but other people are free to chime in and I'll revise as needed.