Agree with the comment from Billy you are jamming in waaay to much for 3 weeks. What most people dont realise about NZ is the roads are not like overseas with straight freeways connecting towns etc.
Something might look close on a map but it might take you 6 hours to drive there. Have no idea why you would want to goto Stewart Island. Also the drive from Rotorua to Napier is a good 4 hours atleast from memory along some really windy roads. I would replace that with going to Lake Taupo, about an hours drive from Taupo.