Definitely William, it's a lovely name.
Benjamin is a perfectly lovely name too, but... global travel and business between different nationalities is likely to increase in coming years. Sadly the word 'ben' means stupid/slow-witted in Chinese. For me that would be a good reason not to choose it. It would be like a Chinese man coming to a U.K. business meeting and introducing himself with a handshake, 'Pleased to meet you, my name is Stupid'.