I used to know an old man everyone called "Tom" but his real name was Gaetano. I think the names Thomas and Gaetano have some close connection for Italians.
The english translation for the name Gaetano is Tommy. It might have something to do with the Italian nickname for Gaetano being Tano, which becomes Tom.