Gravity can cause varicocele. The veins are fitted with valves that are meant to keep blood flowing towards the heart and stop it from flowing backwards. This sort of thing happens when you stand up. If the valves leak, the blood hangs around in the veins, which expand to form a varicocele. The same sort of thing happens with varicose veins in the legs. Nobody is sure why the valves stop working.
In older men, a blockage of larger veins in the tummy can cause a varicocele in the scrotum. This is only likely to happen in men aged over 40. It can be a sign that a tumour of the kidney has developed.