When each object can be classified from 0 to multiple categories, it is a multilabel classification problem. There are several approachs to tackle this, the most known is probably the One-vs-the-Rest strategy : it consists in dividing the problem into a multitude of binary classification tasks, for each possible label.
However, deep neural networks support inherently multilabel classification. Each neuron of the final classification layer can be associated with a label. As you would like to have multiple output neurons with high values if an object has several tags, you should use a sigmoid activation function on the final layer and the binary crossentropy loss function.
There are several tutorials on the web : https://towardsdatascience.com/journey-to-the-center-of-multi-label-classification-384c40229bff