The ADC Pi will draw less than 10mA when sampling the inputs.
For the IO Pi the maximum current draw for each MCP23017 IO chip is 25mA per channel or 125mA in total so the overall maximum for both chips would be 250mA plus 5mA for the level shifter and pull-up resistors so 255mA max. This would only be when the IO channels are set as outputs and you are drawing the full 250mA from external devices. If you are using the IO Pi for inputs the current should be less than 20mA with the internal pull-up resistors enabled.
Overall the two ADC Pi and two IO Pi boards will be drawing less than 100mA so there shouldn't be any issue with running them from the Raspberry Pi 5V on the GPIO header. You shouldn't need to use external power for the IO Pi unless you are trying to use all of the pins as outputs and using the full 250mA capacity.
If you use a single power supply for the whole project I would recommend splitting the output with one pair of 5V and ground wires connected to the Raspberry Pi which will in turn power the ADC Pi and IO Pi boards through the GPIO header and separate wires powering your opto-isolators and sensors.
The Raspberry Pi website has a list of the different Pi models with the current draw and recommended power supply current capacity for each one. The Pi 3+ has a recommended power supply current of 2.5A for the bare Pi before you start adding expansion boards.
You will need to measure how much current your opto-isolators and analogue sensors use but as an example if the total current draw for the isolators, sensors, ADC Pis and IO Pis was 500mA I would recommend doubling that to 1A to give you plenty of safety margin and add it to the Raspberry Pi current draw of 2.5A to give you a 3.5A power supply rating. If you think that you might expand your project later on you can always get a power supply with a higher current rating.
I normally use RS Components for my power supplies. They are a bit more expensive than amazon or ebay but their products tend to be higher quality and they do next day delivery.