But why two ?
Because it's a custom blocks. Each custom blocks use generic as pattern. For example html_block. You have it as generic but you cannot to use it in layout. You should to create custom html block and paste some html-content into it.
You can have a lot of you custom blocks in layout and all of them use html_block as "parent". Another words : custom blocks are descriptions of html-block. We had decided never delete and change it during block-management operations.
Main difference between generic and custom block is adding to database. You cannot to add generic block via admin.
The same approach with form-blocks etc.
So you should to enable, disable, adds and delete all custom blocks manually.