dispansers seem to only support a single handler per item type, so the DispenserCauldreonBucketBehaviours probably override the default bucket behaviours. The DispenserCauldronBucketBehaviours simply fail the attempt if the block in front is not a cauldron, and so they override the default behaviour. If this is the case, the new behaviour can simply delegate to the old ones to restore functionality.
This is a (good) hypothesis from reading code, but hasn't been tested.