Hi
on your question - "what is wrong to add an address to a shop node?" - my answer:
because there is no point whenever there are several shops located on a single building, to mark all them with address data, while we could simply add  the address data on the building polygon. Furthermore, you could review the map(and especially with Streetcomplete), and you will notice duplicate housenumbers on a single building. A close example: https://www.openstreetmap.org/way/297367776. Do you see "23" twice? It is ugly visually...