P0128 shows low temp. It’s possible the engine coolant temp sensor may be reading a high temp, which would cause a no start when it is colder outside. Just a possibility. Also, plugs, wires may be due. Check for vacuum leaks, etc. a good once over at a reputable repair shop could be money well spent.