Yep, you got it wrong

. You only need to turn off 16 func_wall_toggles. The 17th func_wall_toggle (or rather it's trigger_relay) can be fired directly by the func_button.
The reason I included a second set of trigger_relays for the ON state is to make it fool proof (people pushing the same button twice, several buttons shortly after each other, etc.)
But I agree that this would be a system that requires a lot of entities, hence the mention of a method that uses trigger_changetarget. Would be a lot more complex to set up though.
To keep the entity count lowest and maintain a foolproof system, combining trigger_changetargets with a single button would probably be the best method, to cycle through the func_wall_toggles. May not be what Ghozer is after though.
func_button targets 1
trigger_changetarget 1 is triggered by 1 and changes the button's target to 2
func_wall_toggle 1 is triggered by 1 and turns on
trigger_relay 1 is triggered by 1 and turns func_wall_toggle 17 off
Pushing the button again triggers 2
trigger_changetarget 2 is triggered by 2 and changes the button's target to 3
func_wall_toggle 2 is triggered by 2 and turns on
trigger_relay 2 is triggered by 2 and turns func_wall_toggle 1 off
etc.
This would require 17 + 1 = 18 brush based entities (as opposed to 34) and 17 + 17 = 34 point based entities for a grand total of 52 entities. Still quite a lot for a simple slide show, but in a co map it might be doable. Also, this entity system doesn't rely on the assumption that func_wall_toggle properly responds to triggerstates, which I'm not certain off, since the trigger_relay used to turn the wall off always only targets a wall that's on.