Who should schedule grooming session?
Who should schedule grooming session? Ideally how often (once or twice) for 2 week sprint?
There is no black and white answer, it depends on the Scrum Team and their needs.
To answer your question, first let's understand Backlog Refinement. Backlog Refinement (no longer called grooming) is an ongoing process that consumes no more than 10% of the Development Team's capacity during a Sprint. Most teams strive for having enough "ready" Product Backlog items for the next Sprint, yet this does not have to be done in one meeting. Typical activities include ordering the Product Backlog, estimation, breaking down Product Backlog items to fit within a Sprint, and adding more description if needed.
Since this is an ongoing process, wouldn't it be best to have a conversation with those who are needed about scheduling a meeting, and discuss who needs to attend? You might have some sessions where it is Product Owner and Development Team, or it could be a subset depending on what needs to be done. Maybe a refinement activity is a quick discussion between Product Owner and Dev Team member. Some Sprints may require more or less capacity. A Scrum Master may or may not be needed to facilitate.
that consumes no more than 10%
You forgot the extremely important word usually here.
Who should schedule grooming session?
The Scrum Guide is really clear on this:
The Scrum Team decides how and when refinement is done.
Who should schedule grooming session? Ideally how often (once or twice) for 2 week sprint?
Ideally, a single Scrum Team would refine the Product Backlog as an ongoing collaborative activity. Refinement would comprise about 10% of the team's time, but members would not need to prescriptively "schedule" any "sessions" at all.
If that approach wouldn't work in your team's situation, ask why, and find out what would.