The Uboot UI has to write the image to ram first I think then copies to flash and as your image is 20MB could be causing the problem.
The full GL-i image is only 4MB is it not?
20MB does seem very large and I cannot imagine what you have in it 
Why not try putting the clean image on first, then use sysupgrade utility to reflash. LEDE/OpenWrt will then have over 120MB of free /tmp ramdisk to work with.
Worth a try anyway…