You can read all about it here
ICloneable Interface (System) | Microsoft Docs[
^]
The ICloneable interface imo is a pretty straightforward "flat" interface with only one method allowing to return a copy of an instance of the class implementing the interface.
You are writing "
I know its default access level is private
", I don't know exactly what you man by this, but interfaces are contracts describing the members that classes and structs inheriting from the interface are required to implement. Contracts are public by definition as well as the members. Components calling the interface only have to have knowledge of the interface and not of the implementing class or struct.
interface - C# Reference | Microsoft Docs[
^]
In your example you have two Clone methods. But as both have no parameters (only different return types), there is no method override being done. C# allows you to keep the IClonable.Clone method, however it requires you to place the name of interface before the method name. As interfaces are public and the method is explicitely declared with the name of the interface there is no need for a access modifier as it is public by design.
HTH
Cheers