The words milhão, bilhão (informal Brazilian Portuguese) and bilião (European Portuguese for a million times milhões, Brazilian Portuguese for a thousand times milhões), as well as subsequent numeral quantities, are nouns rather than quantifiers.
We may qualify another noun with mil (because it's a quantifier, related question), but immediately adjacent nouns do not naturally occur in the Portuguese language, which makes "um milhão euros" incorrect. Instead, a locução adjetiva (phrasal adjective) takes place by joining them with the preposition designed for a relationship of number/amount/matter, which is de. Therefore, the same preposition can be used for combining a concept with amounts:
O novo edifício recebeu uma bolsa de três milhões de euros para o seu financiamento.
O camião transportava grandes quantidades de tintas.