I have a list that stores all of my enemies in my game, how do I make my code not give me an error?

extends Node2D

export(Array, PackedScene) var enemies
export(Array, PackedScene) var power_ups

func _ready():
	Global.node_creation_parent = self
	
	Global.points = 0

func _exit_tree():
	Global.node_creation_parent = null

func _on_Enemy_spawn_timer_timeout():
	var enemy_position = Vector2(rand_range(-160, 670), rand_range(-160, 670))
	
	while enemy_position.x < 640 and enemy_position.x > -80 and enemy_position.y < 360 and enemy_position.y > -45:
		enemy_position = Vector2(rand_range(-160, 670), rand_range(-160, 670))
	
	var enemy_number = round(rand_range(0, enemies.size() - 1))
	
	Global.instance_node(enemies[enemy_number], enemy_position, self)
	
	if Global.points == 250:
		enemies.apapend("res://Enemy_4.tscn") #<---- This does not append the PackedScene to the array

Well you've got a typo in the last line there (apapend rather than append) which would throw an error. But also for this use case I wonder if using a group might be simpler than an array.

    soundgnome I fixed the typo but now it gives me an error that says "Invalid call. Nonexistent function 'Instance' In base 'String'" and it brings me to another script that has this function in it

    func instance_node(node, location, parent):
    	var node_instance = node.instance()
    	parent.add_child(node_instance)
    	node_instance.global_position = location
    	return node_instance

    enemies.append("res://Enemy_4.tscn")

    That's adding a String to an Array of Strings.

    Global.instance_node(enemies[enemy_number], enemy_position, self)

    That's passing a String as the first parameter.

    var node_instance = node.instance()

    That's attempting to call a method instance() on a String, which has no such method.

    To create an instance of a scene path such as "res://Enemy_4.tscn", you need to load it first.

    var scene: PackedScene = load(node)
    var node_instance: Node = scene.instance()