Well in a world of increasingly bizarre names on these threads, I am relieved to finally have a thread where I can say I think both these names are lovely: traditional, versatile and both shorten nicely. I'm not sure why you are getting so many negative responses!
Thomas is a good, solid name and I have many friends who have chosen it as a first choice. I think Tommy is underused and rather sweet as a nn on a small boy, and it will easily shorten again to Tom as he grows. Great name.
Benjamin is similar, and I rather like Benji as a more unusual form of shortening. I have not known one since I was a child. Again, it easily shortens to Ben as he grows, if he prefers that.
With both, I'd go for the full name on the BC and call him Tommy or Benji, and I'm presuming if you like traditional names you are probably thinking that too.
Alexander I like, if his Dad was up for that, but I agree Alex itself is not quite as nice, and I prefer Tommy/Tom or Ben/Benji.
Both classics which have tapered off since I was a girl, when they were used a lot more. Time to bring them back a bit - and I think you should feel relieved you have found such nice compromises.
If it's any comfort, I prefer them both to George, and Harry and Oliver are quite overused, though nice.