I am trying to implement the door-key system into my level but my doors won't open despite acquiring the key. What is the issue?



The “try casting to player” node doesn’t remember its output forever, only for execution directly downstream of itself.
You need to remember which player actor enters the box in some variable, when they do.
You can then tell that player (from the variable) to do the thing when you see the command.

Separately – having each object define the key it interacts with is generally a bad practice.
The reason is both that input flow is really messy – what if the player overlaps two different objects? – and that it’s hard to localize, or change your mind, or let the player customize inputs, to have to chase down all the objects that look for particular keys.

Instead, typically, when the player enters the area of an interactable object, that object should add itself to a list on the player controller of “available interactable objects.”
And remove itself when the player leaves again.
The player controller can then use whatever UI or other affordances it chooses, to present what objects can be interacted, and when the player chooses to interact, you can have a simple “DoInteraction” interface function on each of your interactable objects so the player controller can easily tell it to Do The Thing.