Re Question 2.
There would be no problem in handling the small amounts of logic necessary for those tasks in one logic path on a UNO.
You might find it useful to consider using Aiko events (https://github.com/geekscape/Aiko) to process each control task in a separate void (subprogram). You can then run each on a suitable timescale - so for example, set the fan controller every 500 msec and the peltier device only once every 5 seconds - or whatever suits.
That would be a suitable way of modularising your program for simplicity.