Query for row combine
You can't use COUNT inside another aggregate. What you're trying to do is add 1 for each row that meets the criteria, so use the CASE to return 1 or 0 depending of whether the criteria is met or not. Then aggregate the results of that CASE with a SUM:

SELECT EmpID,
SUM((CASE WHEN Status1='Present' THEN 1 ELSE 0 END)) end as 'Present',
SUM((CASE WHEN Status1='Late-Absent' THEN 1 ELSE 0 END)) end as 'Late-Absent',
SUM((CASE WHEN Status1='Absent' THEN 1 end ELSE 0 END)) as 'Absent' from  @t1
where date1 between @fdate and @tdate
GROUP BY EmpID


I also removed Status1 from your aggregate, because it would create a separate row for each occurrence of employee and Status1 - what you want is one row per employee only.