Solution
You should use labels for setting the right column header and also select the right columns including that extra column representing the week. Here is an example for the first week, for retrieving the rest just append the rest weeks as you did in the example you provided:
=query(source!A:K,"select A,'2020-20',D,E where A is not NULL label A 'Nombre', D 'horas',E'pago','2020-20' 'semana'")
Demonstration:

To query the rest of years you just need to nest the queries in a bigger query and select the right columns of each week. For example, the relevant columns for the week 2020-20 would be A (the one containing the names which is comon for all weeks), D and E as these are the columns containing that week's information. For 2020-21 it would be columns A, F and G and so on. Also, note that you will only need to add the labels on the first query as you only want the headers Nombre,semana,horas and pago on the first row.
Here is an example with the first two weeks:
=query({query(source!A:K,"select A,'2020-20',D,E where A is not NULL label A 'Nombre', D 'horas',E'pago','2020-20' 'semana'");query(source!A:K,"select A,'2020-21',F,G where A is not NULL")})
I hope this has helped you. Let me know if you need anything else or if you did not understood something. :)