Can you apply 男子汉 and 女汉子 to non-Chinese?
男子汉 means a manly guy, a strong man, or a courageous fighter.

The grammar doesn't seem natural in Chinese. It actually originated in a foreign language and borrowed to Chinese. Here is some text about its origin:

据考证称呼成年男子为男子汉起源于汉武帝时代，众所周知自汉高祖刘邦白登被围后，西汉政权对北主的匈奴一直采取的和亲战略，因此匈奴人对汉人十分瞧不起，到武帝时期经过前几代皇帝的休养生息，西汉国力强盛，士卒训练有素，在汉武帝的命令下，西汉军队在卫青、霍去病两位将军的带领下，与北方的匈奴展开了激烈的战争，经过数次大战终于打败了强大的匈奴，当时的汉朝军队士兵战斗力强悍，在对战中经常以一敌二或敌三，死战不退，一扫有汉以来匈奴人对汉人的蔑视态度，因此从那时起匈奴人对汉朝士兵的称呼即为“汉儿”、“男儿汉”，此称呼后来传回中原，风靡一时，后来人们逐渐对成年男子即用男子汉称呼。 

It can be used for people of any ethnicity in China (not just 汉族，but also 满族、蒙古族, etc). So foreigners can also use the word without any problem.