Это связано с тем, что метод расширения Descendants принимает всех потомков узла xml, который называется "themes". Поскольку ваш узел тем является контейнером для отдельных тегов тем, есть только один, и когда вы берете элемент .Element, вы получаете первое вхождение.
Этот код должен работать:
var q = from f in xml.Descendants("theme")
select new ThemesItem
{
Name = f.Element("name").Value,
Description = f.Element("description").Value,
Author = f.Element("author").Value,
};