You can't refer to aliases within the same select. Either use a Common Table Expression, a Sub-Query, Temporary table or Table Variable, or simply repeat the calculation.
select start_time,end_time,units,datediff(minute,start_time,end_time) as minutes,(datediff(minute,start_time,end_time)/units) as rate from tblpunch