I have an interesting update. I called my credit card company today to ask about this situation.
On 4 separate phone calls Emirates had refused to change my flight unless I paid the unfair stopover fee. They had told me that flights were available within my fare class. Despite the fact they eventually wavered this unfair charge I was told incorrect information and the delay ended up in my chosen flights selling out and me having to travel a day earlier. My credit card provider has recommended me to dispute the cost of the whole flight. They were in breach of contract in what they did.
First off I have to ask Emirates for a refund. If they refuse my credit card provider will open a dispute.
I am going to follow this advice.