Why does a demon leave one body to enter another?

Because unlike God, demons do not have the OMNIPRESENCE attribute. They cannot be in two locations at the same time.