500 baht lunch money for a month? You haven't given us any information about the type of work and the pay, but judging by your lunch allocation, it probably isn't a high paying or enjoyable job.
If you want to keep employees, don't look at what your competitors are paying. They could just as well have high turnover as well.Look at the cost of living in the area of the business. Does the amount you pay give the employee enough to pay for nice housing, transportation, food, bills, clothes etc? If not, or if a person will struggle to live on the salary you're providing you will have high turnover.
Every employee is a human with ambitions and goals, and if they only make a a few hundred baht per day but pay 100 baht in transportation back and forth, for example, they will start wondering if the work is worth it. They'll start questioning whether they should look for another job or their next path. And if the job is low on the pay scale, they aren't afraid of losing the job, because there are tons of low paying jobs available.
Pay them enough that they can afford to live very comfortably on their own and still have money for savings, and you will not have an employee turnover problem. If you're paying like 15,000 or less for any job though, I think the default is high turnover. Unless they live right next door and can just sit around all day playing their phone.