When I close a lead from the chat, the required field "reason" is not asked. How do I enforce it?
Configure the fields per stage in Chat rules → Required fields per stage; the chat then asks for them before moving the record.
Bitrix24 does not apply its "required fields per stage" when a stage is changed through the API, which is how the chat changes stages, and it does not expose that configuration to apps. WASync has its own list for this: in Settings → Chat rules → Required fields per stage an administrator picks, for each lead or deal stage, the fields that must be filled before a record can be moved there from the chat.
When an operator picks such a stage in the chat header, a panel asks for exactly those fields and the stage changes only after they are filled. The list has to mirror the one in your CRM by hand; it is not read from Bitrix24.