Your code returns your own NICs MAC-Address.
You can not retrieve the mac addresses of clients connecting to you. MAC is a layer2 address in the OSI scheme. A router strips the source and destination mac addresses and replaces it with it's own mac as source and the next network hop as destination. You should use IP-Addresses (layer3) instead.
If you use Sockets, you can use this method: how to get client IP using socket programming c#
If you use asp.net webserver you can use this Request.UserHostAddress
Both will return the client's public ip address assigned by their ISP. This IP-Address often changes over night or with a router reset.
This will be the same IP-Address as other users connecting from the same local network. For example if the household has 2 computers and 3 mobile phones connecting through wifi, they will all share the same public IP-Address. To uniquely identify each one, you should use some kind of token, like a cookie, sessionid and/or authentication as suggested here: How to uniquely identify the client machine in an ASP.NET application?. (For (asp.net) web servers) However the cookie can be deleted and will then have to be replaced the next time around. While you can differentiate different users that way, you can't be sure to identify a single user as they may have multiple cookies seperated by time (deleted and new) or space (different browsers/devices having different, valid cookies at the same time)
Another way would be to send a unique certificate along with each client and have a database on hand to match them. (For networking applications)
Other ways to get unique client identifiers are discussed here: How to uniquely identify computer using C#? and here: Get Unique System Identifiers in C#. They do however rely on you executing code on the client machine, can be spoofed, are not reliable, may change over time, etc.
In short: There is no reliable and easy way, especially if you can't execute code on the client like in a web-server scenario. Also whatever you decide to use as an identifier may change with time (new IP, new hardware, new browser version, new OS, etc), has duplicates, is unreliable or unavailable on some machines (ex.: HD-GUID on clients with network drive only), and/or may be spoofed (mac, request header, etc).
It all depends on your needs, what you have available and how error prone and secure you want the thing to be.