datestr() returns a character vector. When you add 8 to it, you are taking the encoding of each character and adding 8 to that '0' becomes 56 ('8'), '1' becomes 57 ('9'), '2' becomes 58 (':'), '3' becomes 59 (';'), ... '9' becomes 65 ('A'), ':' becomes 66 ('B')..
If you want to add 8 hours:
datestr(addtodate(datenum(t1),8,'h'),'HH:MM Am')
You should also consider using datevec instead:
datestr(datevec(t1) + [0 0 0 8 0 0], 'HH:MM Am')