It's difficult to translate these terms from one culture to another. The terms 'first', 'middle' and 'last' apply to naming conventions in English-speaking countries, and are therefore not always easy to apply to names of people whose cultures have different conventions.
In English-speaking cultures, the majority of people have one first name (also known as Christian name, given name or forename) and one last name ( also known as family name or surname). They may also have a middle name, which is not generally used other than on official documents. The middle name is sometimes shortened to an initial.
In your case, you could simply say that Juan is your first name and that Vasquez is your last name.
Or if you want to give your full name, you could say that you have two first names and two last names.
If people call you 'Juan Miguel' , using both names, then you can consider both of these a as a 'first name' 'forename' , 'given name' or 'Christian name'. Obviously, 'Christian name' isn't appropriate for all cultures in the world, but in your case you could use this term. You can say, for example " 'Juan Miguel' is my given name."
You'd only say that 'Miguel' is your middle name if you don't generally use it, as is the case with most English-speaking people.
'Vázquez' and 'Jiménez' are both 'last names', surnames/family names. So you can either say 'I have two surnames', or 'My surname is Vázquez Jiménez'.