Is it only on Shabbat that a Cohen can be called up for an Aliyah for maftir or even on other days (such as festivals)?
Maftir is not considered one of the 7 "main" aliyot of the parsha. Technically, the entire parsha has been read and maftir is, usually, a repetition of the last few verses of the the weekly reading. When another Torah is used for maftir, it is a similar idea. The main parsha has been read, and maftor is an extra aliyah. Therefore, a Cohen may be called. This is not just Shabbat - it applies to Yom Tov as well.
The only time a Cohen cannot be called for Maftir is on a fast day afternoon, and Tish'a B'av Shacharit. That's because the 3rd aliyah must be Yisra'el, and that aliyah happens to be maftir as well.
Source - Talmud Megilah 23a near the bottom.
Summarizing: - There is a dispute between Rav Huna & Rav Yirmiya bar Aba as to whether maftir is included in the 1st 7 or not. Tosfot explains that we follow both customs (@DoubleAA's comment is partially correct). On fast days (including Mincha Yom Kippur), maftir is the 3rd aliyah. On Shabbat & Yom Tov, since we are allowed to add extras, we make this a separate aliyah. See the Gemara text as to why there must be a Torah reading before reading from nevi'im (haftarah).