On Rosh Chodesh and after the first days of Pesach we say Chatzi Hallel. Why on Chanuka do we say Hallel Shaleim?
Mishna B'rura says each day is separate from the last because each one commemorates an individual and independent chag that each day's nasi' made in celebration of his contribution to the dedication of the Mishkan. Similarly we say full halel each day of Sukos because each day had a separate type of karban.
As heard from Rabbi David Twersky, saying Hallel on Rosh Chodesh was always just a minhag, and there was a desire to show that this was just a minhag so only half-Hallel was said (and some poskim held that a bracha should not be said on Rosh Chodesh for Hallel).
Another answer is that for everyday we say Half Hallel during the Year we say a whole Hallel on Chanukah.That means if you count the Days you say Half Hallel on Yom Tovim they add up to 8 which corresponds to the days of Chanukah.