Every day we say the שיר של יום which is what the לויים said in the Beis Hamikdash. The Gemara in Rosh Hashana (31a) details the שיר של יום for every day of the week and for Shabbos. The simple understanding of the Gemara on (30b) is that in addition there was a special שיר של יום for Yom Tov as well.
The Minhag Ashkenaz for the שיר של יום on Shabbos and Yom Tov is very difficult. We say מזמור שיר ליום השבת after musaf. However, the Gemara says that מזמור שיר ליום השבת was the שיר for the תמיד של שחר, for the תמיד of musaf they said the שירה of האזינו (split into the six aliyos one aliaya a week). Therefore, really we should say מזמור שיר ליום השבת after shacharis like nusach sefard as that is it's place. To ay it after musaf and say that this is what the Leviim said is simply not true. The Aruch Hashulchan makes this point and says he doesn't understand the minhag. It's also interesting that we don't say the שיר mentioned in the gemara for shabbos musaf or mincha.
On Yom Tov it is not clear whether there was a different שיר at shacharis, there definately was one for musaf. Therefore, again our minhag of saying the regular שיר של יום on Yom Tov is difficult because that was not what was said at musaf.