It's confusing "dress" being a masculine word, when men don't where dresses! haha
No. Unlike in French, in Spanish if the person is obvious from context, then you can drop it.
I thought "I have" is yo tieno. So is it both? I'm confused now. Can somebody explain please?
'tener' is irregular; see any competent dictionary or here for conjugation: https://en.wiktionary.org/wiki/tener#Conjugation_3
'tieno' is a reasonable expectation from having seen some other forms, but in fact it doesn't exist.
tener literally means "to have", but in certain idioms it is translated "to be" -- some states of being in Spanish are nouns that you possess rather than adjectives as in English. For example, to say "I am hungry" you would write "tengo hambre", but this literally means "I have hunger". Instead of saying "I am twenty years old", you say "I have twenty years (of age)" -- Tengo veinte años (de edad).
There are a few other examples at https://en.wiktionary.org/wiki/tener#Spanish