Transform single-label data set into multi-label data set
You should consider using a neural network for this. By using binary crossentropy across multiple categories, you can get a probability "rating" for each category and how it applies to the text. From there, you can develop a script that establishes a threshold (say 0.8) and then creates a new entry of labeled data for that one particular piece of text across multiple categories. There are many examples out there of people taking IMDB data and the movie descriptions and assigning multiple genres to a single movie (like a "horror" movie can also be a "suspense" movie or a "comedy" movie can also be an "animated" movie). Those types of examples should fit what you need here.