Remove quest prefix from your properties. What’s the use of it? The context is Quest class. You don’t need to repeat that in every property. Always make your names as short as possible while taking care they’re expressive enough.
You don’t really need a “manager”. The two possible “managers” already exist and those are the quest giver and the player.
The goal is to know your problem and to represent it with data structures. The Quest class is not the only data structure you need to think of. You also need several containers (in GDScript those will typically be arrays or dictionaries): The queue of npc’s quests, and the list of player’s active quests. Both can be implemented as arrays.
In your Quest class you’re not constrained only to binary flags. You can have multistate flags aka enums. Those are basically named integers:
enum{KILL_MOBS, ESCORT, FIND_ARTEFACT}
var type: int = KILL_MOBS
In more complex situations enums can be typed:
enum Type{KILL_MOBS, ESCORT, FIND_ARTEFACT}
var type: Type = Type.KILL_MOBS
You can use those for multiple things. Another example would be quest state:
enum{AT_NPC, IN_PROGRESS, OBJECTIVE_MET, DONE}
var state = AT_NPC
You can use the same Quest object to store quest’s initial parameters as well as quest progress. Before the quest is given, it’s stored in npc’s queue. When the quest is accepted, a duplicate of Quest object can be created and added to player’s active quests list. Npc’s object can be deleted and removed from queue or if it’s recyclable, its parameters can be scaled up and it can go to the end of the queue or into some random position in the queue
The Quest object can have tracking properties for multiple quest types and use only ones that are applicable for its current type. In more complex versions you can have a different sub-resource that tracks data for each quest type and store its reference in the Quest object
The game can emit a signal whenever something relevant to quests happen (mob killed for example) and player’s quest object can connect to relevant signals depending on the quest type and trace its progress by itself. When the objectives are met it can send completion signal to the player and/or to the npc