Generating the systematic names of organic compounds follows the rules for IUPAC nomenclature.
In this system, a name has several parts:
- Prefix (meth-, eth-, prop-, but-, pent-, etc.) - which indicates the number of carbon atoms in the parent chain.
- Infix (-an-, -en-, -yn-) - which indicates the presence or absence of carbon-carbon multiple bonds in the parent chain.
- Suffix (-e, -ol, -amine, -oic acid, -al, etc.) - which indicates the highest priority functional group in the parent chain.
- Substituents (bromo-, methyl-, hydroxy-) - indicate the presence of other things on the parent chain.
- Locants (the numbers) - indicate where all of these things happen.
You are confusing the roles of infixes and suffixes.
The base infix is -an- indicating no carbon-carbon multiple bonds. The presence of alkenes or alkynes in the parent chain changes the infix to -en- or -yn-, respectively. No other functional group can change the infix, as there are no carbon-carbon bonds of higher order than 3 or lower order than 1. It is also possible to have a complex -enyn- infix if you have both, but let us not worry about that now. In your example compounds:
- 3-bromo-3,4-dimethylhexane - the infix is -an- because there are no carbon-carbon double or triple bonds.
- but-3-en-1-amine - the infix is -en- because there is a carbon-carbon double bond.
- 3-aminopropan-1-ol - the infix is -an- again because there are no carbon-carbon multiple bonds. The amine and alcohol functional groups do not consist of carbon-carbon multiple bonds so they cannot change the infix.
The base suffix is -e, signifying a hydrocarbon with some substituents. Many functional groups change the suffix of a molecule's name, but the name can have only one suffix. If two or more suffix-changing functional groups are found on the parent chain, then the one with the highest priority is chosen to be the suffix and all others become substituents. The common functional groups by decreasing priority are:
functional group suffix substituent name
carboxylate anion -oate
carboxylic acid -oic acid carboxy
ester alkyl -oate alkoxycarbonyl or alkylcarboxy
acid halide -oyl halide halocarbonyl
amide -amide amido
nitrile -enitrile cyano
aldehyde -al oxo
ketone -one oxo
alcohol -ol hydroxy
thiol -ethiol mercapto
amine -amine amino
hydrocarbon -e varies by group
The name 3-aminopropan-1-ol is correct. Both the alcohol and the amine cannot change the suffix. Only the higher priority group (alcohol) changes the suffix. The other (amine) becomes a substituent. As mentioned before, neither group changes the infix.
In addition to the substituents listed above, several functional groups are always substituents (which are listed alphabetically in front of the parent name):
functional group substituent name
alkyl halides halo
There are some other common substituents that deal with exception cases, like phenyl, aryl, vinyl, methylene, formyl, allyl, and acetyl.