When we declare a class as static, we need to explicitly declare each member as Static, otherwise compiler error. But, When we declare an interface, we do not need to declare all members as public, they are public by-default. Any idea why such behavior?
public, protected, internal, protected internal, and private, are all access modifiers. Every type in C# has a default accessibility level, so you needn't explicitly define them.
The static keyword is a modifier, but it is not an access modifier. Most modifiers require explicit declaration.
As to why they made it compulsory to define your members in a static class as static, I'm not certain. It could be because static classes can contain non-static (i.e. instantiable) nested types; it might cause problems if those were being declared as static by default.