Slightly more custom approach if you only need very specific options. Modify the sorter.phtml file (app/design/frontend//Magento_Catalog/templates/product/list/toolbar/sorter.phtml)
<div class="toolbar-sorter sorter sortby-dropdown">
<button class="custom-sortby-button button action"
data-mage-init='{
"toggleAdvanced": {
"baseToggleClass": "expanded",
"selectorsToggleClass": "expanded",
"toggleContainers": "[data-link-column=\"sortby\"]"
}}'>
<span><?= /* @escapeNotVerified */ __('Sort By') ?></span>
</button>
<div class="sortby-dropdown-pane" id="sortBy" data-link-column="sortby">
<ul class="sorter-menu">
<li>
<a href="<?= $block->getUrl('*/*', array('_current'=> true, '_use_rewrite' => true, '_query' => array('product_list_order' => 'price', 'product_list_dir' => 'asc'))) ?>"<?php if($block->isOrderCurrent('price') and $block->getCurrentDirection() === 'asc'): ?> class="active"<?php endif; ?>>
<?= __('Price - Low to High') ?>
</a>
</li>
<li>
<a href="<?= $block->getUrl('*/*', array('_current'=> true, '_use_rewrite' => true, '_query' => array('product_list_order' => 'price', 'product_list_dir' => 'desc'))) ?>"<?php if($block->isOrderCurrent('price') and $block->getCurrentDirection() === 'desc'): ?> class="active"<?php endif; ?>>
<?= __('Price - High to Low') ?>
</a>
</li>
<li>
<a href="<?= $block->getUrl('*/*', array('_current'=> true, '_use_rewrite' => true, '_query' => array('product_list_order' => 'name', 'product_list_dir' => 'asc'))) ?>"<?php if($block->isOrderCurrent('name') and $block->getCurrentDirection() === 'asc'): ?> class="active"<?php endif; ?>>
<?= __('A - Z') ?>
</a>
</li>
<li>
<a href="<?= $block->getUrl('*/*', array('_current'=> true, '_use_rewrite' => true, '_query' => array('product_list_order' => 'name', 'product_list_dir' => 'desc'))) ?>"<?php if($block->isOrderCurrent('name') and $block->getCurrentDirection() === 'desc'): ?> class="active"<?php endif; ?>>
<?= __('Z - A') ?>
</a>
</li>
</ul>
</div>
</div>
You will then just need to apply some custom CSS.