If you want to capture the event of a block or header message then you need to operate at the bc::network level, not bc::node. You would do this when implementing your own node. Given the context of bc::node::subscribe_* the names are fully descriptive. You get a notification when the node has organized a header or block.
(edited)