Another reason why odds change as you get closer to the event is that you have more information available.
For example in a test cricket match the odds of winning or loosing may change dramatically based on the outcome of the toss and so that isntisn't known until just before the start and so the odds will change.