hadw
2
Streets don’t generally have addresses in OSM. Only buildings and some other features do. Also OSM coverage of addresses is much more patchy than its coverage of streets.
I don’t know an easy way of assigning cities to streets. Nominatim seems to attempt this, but I don’t know there is any way of extracting this information in bulk, without working at the source code level. Also, there are quite a few questions on this forum form people complaining that Nominatim identifies the wrong locality.