how to create single flag for choosing multiple bookmarks?
This is possible but you need to use the Flag API hooks and the Flag Actions module. Enable the Flag Actions module that comes with the Flag module if you haven't already. You will now have an option under the flag tab on the triggers page to fire off an action based on whenever anyone flags something with your flag.

/admin/structure/trigger/node


None of the actions available will match what you are trying to do but you can create one. In your site module (or create one), you need to just define two functions: the action definition hook, and the function that fires. 

For the action definition, you're using hook_action_info() to declare a function

/**
 * Implements hook_action_info().
 */

function YOURMODULE_action_info() {
  return array(
    'MYFLAG_action' =&gt; array(
      'label' =&gt; t('Action to take after MYFLAG is flagged'),
      'type' =&gt; 'node',
      'configurable' =&gt; FALSE,
      'triggers' =&gt; array('any'),
    ),
  );
}


and then you want to create the function to trigger your taxonomy flag

/**
 * Action function for report action
 *
 * @see action_example_action_info()
 */
function MYFLAG_action(&amp;$entity, $context = array()) {

   // Use the name of the taxonomy flag here
   $MYFLAG = flag_get_flag("name of taxonomy flag");

   // add logic to find your taxonomy_id, probably from the node object available through the $entity variable

   $taxonomy_id = ( SOME OPERATION )

   //execute the flag operation
   $flag-&gt;flag('flag', $taxonomy_id);  


}


Finally, flush cache and go back to your triggers page to associate the trigger of flagging a node with your new custom action.