Why not using another join instead of Sub Query
SELECT MST_EMPLOYEE.[ID] as ID
,[EMPCODE],[EMPFNAME]+' '+[EMPMNAME]+' '+[EMPLNAME] AS EMPNAME
,DESIGNATION
, min(Times_IN) as TimeIn , max(Times_Out) as TimeOut,
(select count (distinct _Date) from Emp_Attendance where month (_date)=6 group by EmpID)
FROM [MST_EMPLOYEE] inner join Emp_Attendance on Emp_Attendance.EmpID=MST_Employee.ID
INNER JOIN EMP_PROFESSIONALDETAILS ON MST_EMPLOYEE.ID=EMP_PROFESSIONALDETAILS.EMPID
INNER JOIN MST_DESIGNATION ON MST_DESIGNATION.ID=EMP_PROFESSIONALDETAILS.DESIGNATIONID
where month(Times_IN) = 6
group by MST_Employee.ID, MST_Employee.EmpCode, EmpFName, EmpMName, EmpLName,DESIGNATION