AFAIK MLSAG is being used for one input because of a privacy problem. Why not just use bLSAG, since in the MRL005 it says that MLSAG is better once we have > 1 sets of keys.
MLSAG allows us to include more than just the set of keys. We can thus use both keys and commitments.
Quoting the paper:
An MLSAG is essentially similar to the LSAG’s described in , but rather than having a ring signature on a set of n keys, instead, an MLSAG is a ring signature on a set of n key-vectors.
Currently we use RCTTypeSimple, which creates a signature for each input ring. Each ring contains public keys and commitments. This means we are creating a signature on a matrix whereby each column represents an input that has two rows. The first row contains the key, the second the commitment. A "matrix" is another way of saying "set of n key-vectors".