TypeError: file1(…).copyColumns.copyTo is not a function. I am getting this error on apps script

I am creating a script that copies data from one sheet and pastes to another. The sheets can be in different workbooks and the data range can be multiple columns. Although I have made all the script that worked perfectly fine earlier, but I made some changes in it. Now it is showing TypeError: file1(...).copyColumns.copyTo is not a function this error. I know there might be just a small mistake that I am missing. I have spent 3-5 hours finding it but no luck. any help would be highly appreciated.

Script for File 1

function file1(url, sheet, selected_columns, headerRow) {
  url = "Workbook 1 url"
  sheet = "sheet to copy from"
  selected_columns = ['Column 1 Name', 'Column 2 Name', 'Column 3 Name']
  headerRow = '1'

  var file = SpreadsheetApp.openByUrl(url)
  copyColumns = []
  sheetsNames = []
  var sheets = file.getSheets();
  for (var i=0 ; i<sheets.length ; i++) sheetsNames.push(sheets[i].getName())
  var selected_sheet = file.getSheetByName(sheet);
  var lastCol = selected_sheet.getDataRange().getLastColumn();
  var columns = selected_sheet.getRange(headerRow,1,headerRow,lastCol).getValues();
  for (i=0; i<selected_columns.length; i++){
    let column = columns[0].indexOf(selected_columns[i]);
    if (column != -1) {
      var copy = copyColumns.push(selected_sheet.getRange(1, column + 1, selected_sheet.getMaxRows()));
      Logger.log(column +1)
    }
  }

  Logger.log(sheetsNames)
  Logger.log(selected_columns)
  Logger.log(copyColumns)
  return {url, sheet, copyColumns}
}

Script for File 2

function file2(url, sheet, selected_columns, headerRow) {


  url = "workbook 2 url"
  sheet = "sheet to paste in"
  selected_columns = ['Column 1 Name', 'Column 2 Name', 'Column 3 Name']
  headerRow = '1'

  var file = SpreadsheetApp.openByUrl(url)
  pasteColumns = []
  sheetsNames = []
  var sheets = file.getSheets();
  for (var i=0 ; i<sheets.length ; i++) sheetsNames.push(sheets[i].getName())
  var selected_sheet = file.getSheetByName(sheet);
  var lastCol = selected_sheet.getDataRange().getLastColumn();
  var columns = selected_sheet.getRange(headerRow,1,headerRow,lastCol).getValues();
  for (i=0; i<selected_columns.length; i++){
    let column = columns[0].indexOf(selected_columns[i]);
    if (column != -1) {
      var copy = pasteColumns.push(selected_sheet.getRange(1, column + 1, selected_sheet.getMaxRows()));
      Logger.log(column +1)
    }
  }

  Logger.log(sheetsNames)
  Logger.log(columns)
  Logger.log(selected_columns)
  Logger.log(pasteColumns)
  return {url, sheet, pasteColumns}
}

The script that runs both above functions together

function agg_test(){
  Logger.log(file1().copyColumns)
  for (i=0; i<file1().copyColumns.length; i++){
    file1().copyColumns[i].copyTo(file2().pasteColumns[i]);
  }
}