Does OWL treats them as semantically same or different ? (both are
having same IRI so syntactically same). In simple, do these entities
(having same IRI) one and the same ? [As in OWL everything is related
to IRI only]
From the documentation that you linked to (emphasis added):
OWL 1 DL required a strict separation between the names of, e.g.,
classes and individuals. OWL 2 DL relaxes this separation somewhat to
allow different uses of the same term, e.g., Eagle, to be used for
both a class, the class of all Eagles, and an individual, the
individual representing the species Eagle belonging to the (meta)class
of all plant and animal species. However, OWL 2 DL still imposes
certain restrictions: it requires that a name cannot be used for both
a class and a datatype and that a name can only be used for one kind
of property. The OWL 2 Direct Semantics treats the different uses of
the same name as completely separate, as is required in DL reasoners.
When punning, you get to use the same name to refer to more than one thing;
the IRI is the same, but that's it; the things are still different. If you use the same IRI as an identifier for a class, and for an individuals, that's all you've done. There's a class that's named by that IRI, and there's an individuals that's named by that IRI; they're not the same thing, and can't be the same thing, because classes and individuals are different kinds of things.
For instance, if you have a class called x and an individual called x, then you can say things like
(the individual) x is related to individual y by object property p
or
the individual y is an element of (the class x)
You can't say, though,
the individual y is an element of (the individual) x [because individuals don't have elements, classes do]
or that
(the class) x is related to individual y by object property p [because object properties don't relate classes to individuals, they relate individuals to individuals]
IRIs are really just names in OWL, they're not entities in and of themselves. Punning in OWL lets you use the same name for multiple things when there's no confusion of mixing those things up. In the case of classes and individuals, they're different kinds of things, so you can reuse names, because the context will always make it clear which one you meant.