Now "empty" when applied to VIRTUE does make sense, because virtue is not its own reward; virtue must be performed for some other purpose, so "empty" makes good sense there.
As to "vain" that presumably is a synonym for "fruitlessly" rather than a reference to "vanity"(?)