Is this what you mean? Try on a copy of your original first.
Sub Maybe()
Dim sh1 As Worksheet, sht As Worksheet, c As Range, hdrCol As Long
Set sh1 = Worksheets("Master")
Application.ScreenUpdating = False
    For Each sht In ActiveWorkbook.Worksheets
        If sht.Name <> "Master" Then
            With sht
                For Each c In .Range(.Cells(1, 1), .Cells(1, .Cells(1, .Columns.Count).End(xlToLeft).Column))
                    If WorksheetFunction.CountIf(sh1.Rows(1), c) <> 0 Then
                        hdrCol = sh1.Rows(1).Find(c, , , 1).Column
                            .Range(c.Offset(1), c.Offset(1).End(xlDown)).Copy sh1.Cells(Rows.Count, hdrCol).End(xlUp).Offset(1)
                    End If
                Next c
            End With
        End If
    Next sht
Application.ScreenUpdating = True
End Sub