It is usually private businessmen. Here is how it works. Most new houses are built in clusters called subdivisions, because the owners subdivide the land to sell to builders. One of the duties of the developer is to plan all the streets, pave them, and then name them. One might think this would be fun, but after a while it exhausts one's imagination.
Many people have fun naming streets.
Often developers utilize a common theme in naming streets, reflecting the name of the entire subdivision. My parents are using all Native American names for the streets in their latest group of houses. Of course, later the people can petition the city to rename a street, if they do not like it or wish it named something else. Near my house, a street named Stewart Avenue aquaired a terrible reputation. It became known as a street associated with prostitution and murder.