Dispensers and droppers are two different blocks, yes, but unless I was mistaken the inventory interface for them is identical to the point of specifying the same window type in the protocol. Furthermore, TileEntityDropper extends TileEntityDispenser, so handling the two identically makes sense.