Well the first reason is the pairing force, U238 is a double even nuclei and hence a little bit more bound than U235, and therefore need to get higher energy to pass the activation energy. So U235 can be fissioned by low E neutrons, while U238 don't - it needs more energetically neutrons.
The second reason is that the cross section to react with a neutron generally decreases as a function of its velocity/energy (general for all atomic nuclei, of course - there also exists peaks in that cross section - so called resonant peaks). And the reason for that general feature of the cross section is that the higher the energy, the less time it passes through\near the nuclei, and the less time to react with it (basically speaking).
See for instance the fission chapter in the textbook by Krane.