Try changing your SP to something like:
select 'Dear Students HIMT Hotel Accommodation is' + Hotelname,Phoneno,Roomrate + ' by marine' from Tb_Accommodation
where Active!='D' and description = @Keyword
You want multiple return values but your SP first part, with @val only contains one set of values and you only get one return set.
In the above, put in whatever intervening strings you wish between the return values.