I respect the fact that you took the time to research it, but I question the accuracy. This is why;
Traditionally, when the English named places after people, they take the actual name of the person, and add a suffix to it, such as "town", "burg", "ville" or "ia". There are examples of this all throughout the world from Britain's Imperial era. Jamestown, Charleston (formerly Charlestown), Elizabethtown, etc. Pennsylvania actually means "Penn's Woods", after William Penn.
Likewise, when places were names in honor of other places, usually back home in England, they were given the prefix "New" this or that. New Jersey for example, was named for the Island of Jersey. Hampshire is a county in Southern England. New Brunswick is named for the German city of Braunschweig (they anglicized the name).
While I have no doubt that James Stuart had something to do with the renaming of New Amsterdam (named for the Dutch city of Amsterdam, by the way) to New York, if the intent was to name it in his honor, it would have borne his actual name. Since it does not, and follows the tradition of other similarly named places, common sense suggests that New York was named in honor of the English city of York, not James Stuart, Duke of York, the person.
Let me put this another way... If you named a city "New Simbirsk", that is not naming it after Vladimir Lenin, it's naming it after the place where Lenin was born. Not the same thing. A city named after Lenin would be called "Leningrad".