Interesting article and thanks for cleaning up the code! Much more readable.
To answer your questions...I think your first question is quite difficult. Because I'm choosing an arbitrary number of factors and because some of the features appear to only affect one stock - it's not entirely clear what a "heavily weighted feature" actually means. I would compare the "features" as similar to the results of a similar unsupervised method like k-means clustering.
I would venture to say that features that have a heavy weight on only one stock are essentially meaningless. In a sense, these factors are like "residuals" - any and all sudden anomalies in trading volume in a stock that have no similarity to any other stock can be conveniently grouped in a 'feature'. The problem with this is that there's no reason to believe that these anomalies are caused by the same underlying reason. Far more interesting are the features that appear to affect multiple stocks at once. It's particularly interesting when there appears to be a feature that marks high trading volume across some (but not all) stocks in the same industry.
In terms of finding events that trigger co-movement in volume, I think there's many ways to approach this. Personally, I've done some work with data scraping - both news and social media data in particular; I find this method to be a good starting point because of its simplicity and intuitively makes sense. This algorithm spits out dates on which particular features are the strongest and stocks for which a particular feature applies heavily. Assuming we choose a feature that applies heavily to at least 2 stocks, I would suggest that the best way to determine what (if anything) that particular feature "means" (and hence how to find it in the future) would be to scrape news releases perhaps the day before, the day of, and the day after. Next, we look for similarities between these news releases. We also look for differences between these and news releases from other dates that may have high trading volume (for one of the particular stocks that this feature applied to heavily but not others that presumably wasn't identified by the algorithm).
Of course, its very likely we won't be able to distinguish anything just by manually looking (or even more likely, there will be far more information than can be manually processed) - this is where I've used natural language processing in the past.