One answer is: Matthew often has two where the other evangelists has one. Two demoniacs in Gerasa/Gadara, two blind men, two very similar accounts involving the healing of two blind men (9:27-31; 20:30-34), two donkeys that Jesus rides on (21:1-7);
I subscribe to the interpretation that Matthew may have doubled the numbers in the healing accounts because he is influenced by the Jewish legal principle that two or three witnesses are required for valid testimony, and since both incidents give rise to testimony to Jesus as son of God (8:29) and son of David (9:27; 20:30-31), this is his way of ensuring the testimony is heeded. It is his way of emphasizing that the story is true.
As for the donkeys, it’s Matthew essentially having a rather literalistic fulfillment of Zechariah 9. The text of Zechariah, literally translated, says: “riding on a donkey, and on a colt the foal of a donkey.” There’s poetic parallelism involved here: the ‘and’ here doesn’t literally mean that there are two different animals. Instead the Hebrew conjunction ve (translated as ‘and’) is used to link two different terms: in other words, the ‘donkey’ and the ‘colt’ refer to the same animal. (John in his gospel understands it as such and simplifies the quote accordingly: “And Jesus found a young donkey and sat on it, just as it is written, ‘Fear not, daughter of Zion; behold, your king is coming sitting on a donkey’s colt’”). Matthew meanwhile was trying to present the passage as being fulfilled literally and has both a donkey and a colt being brought before Jesus, that He both somehow manages to ride on (“They brought the donkey and the colt and put on them their cloaks, and he sat on them.”)
Of course there’s the harmonistic explanation which says that Mark and Luke only mentioned one of the two demoniacs or the two blind men, and that two donkeys were brought before Jesus but He actually only rode in on one.