Confusion has a 50% chance to be removed upon receiving damage, so it doesn't stack well with DoTs. Just reduced it to 25%, oversight on my part. Bleeding lasts from 2 to 6 turns randomly, so it is probably just bad luck.
Edit: Just removed the random durations completely. All states that would last a random amount of turns will now last a stat amount (about the average they'd last before, so for example bleeding that was 2-6 now lasts 4 stat.)