Seasonality can be treated by adding 23 seasonal dummies. Seasonal arma or seasonal differences are often deficient.
The whole idea is that time series modelling requires evaluating alternative approaches thus it is an iterative self-checking process. You have roughly 7 years of hourly data. You have assumed among other things that there is 1 trend and only 1 trend and there are no level or step shifts. You have assumed a 0/1 variable for holidays (assuming all holifdays are similar in their effect) while demand would probably be dependent (for some holidays) on a number of days around specific holidays. You don't know the underlying and waiting to be discovered arima structure including possible first order or seasonal(24) order differencing. You don't know about about any unusual readings but they can distort and obfuscate a useful model.
Furthermore there can be non-constant error variance and/or non-constant parameter changes over time.
You need to use more powerful software that can be useful aid with problems as complicated as yours. Simple tools can sometimes be useful for simple problems . You have a complicated problem , thus you may possibly need to up-armor !