Is accessing the current node from multiple block plugins on a single page costly from a performance perspective?
No performance issue concerning the node entity, which is loaded only once per request and then stored in memory. 

For caching between requests there are also no performance issues, because the rendered twig template(s) of a block are cached by default. But you have to make sure you provide the correct cache data, which is possible via a plugin context in the annotations (preferred) or by adding the cache metadata to the render array. See Block cache depending on current node and its last modification time