You are trying to group and join at the same time, which is actually quite problematic in LINQ. Instead, join and select the fields you need into a new result set, then group that result set. Like so:
var rsDailyHoursTC =
from rs in
(
from d in Empctx.DailyHoursTimeCategories
join tc in Empctx.TimeCategories on d.TimeCategoryID equals tc.TimeCategoryID
where empCatList.Contains(d.DailyHoursID)
select new { TimeCategoryName = tc.TimeCategoryName, Hours = d.Hours, Minutes = d.Min }
)
group rs by rs.TimeCategoryName into g
select new { Category = g.Key, Hours = g.Sum(r => r.Hours), Minutes = g.Sum(r => r.Minutes) };