“What are the specifications of the Gate Keeper Task.”
Gatekeeper is just a term used for any task that is the only task allowed to access a certain resource (a peripheral for example). If any other task wants to access the same resource then they can only do it through the gatekeeper. That way, all accesses to the resource happen in one thread, and corruption cannot occur by two tasks attempting to access the resource at the same time.
Of course there is nothing physically preventing the task from accessing the resource, it is just a design decision that it will only do it through the gatekeeper.
“In the given example i changed the gate keeper task name to some other task name then also it is working.”
I'm not sure I understand your question here. The name of a task will have no effect on its behaviour.
“What is the priority of the GateKeeperTask?”
You can create it at whatever valid priority you like. The best priority to use will depend on how you want your application to execute. For example, if you want a task A to access peripheral X through gatekeeper task B just like it was calling a function then task B must have a higher priority than A.