They are abstract nouns because they don't state directly what they stand for but rather a vague meaning left to individual interpretation. Concrete nouns would be blatantly specific in their meaning with little room for individual interpretation of their meaning.