Second, all mixing transactions should appear indistinguishable in the blockchain. Otherwise, an adversary can try to separately deanonymize different subsets of users who mix in distinguishably different ways. This means primarily that all mixing transactions should be of the same value (which we call a chunk size), just like Tor packets have a constant size.
Can you explain this one? I don't think it follows. A given transaction should have common sizes, yes (see: CoinJoin), but I don't think it follows that all transactions need to have that same transaction size. Each join can use a facilitator-chosen size so long as the wallet is capable of tracking the anonymity-set implications for each of its outputs.