I think if you used Teddy he is likely to end up being called Ted at some point so if you would really hate that it is best avoided. I also think it sounds a little young once they are out of the young child stage.
The other names are lovely, I don't hear about many Benjamins now whereas I meet a lot more of the other names on your list (aside from Teddy, I haven't met any children called Teddy). I am not sure if that matters to you but some people don't want their child to share a name with another child in their class once they are school age.