How do I create a widget to embed the code for a sign up form, so that the sign up form appears on every page?

It’s not necessary to create a Widget, just enable the Shortcode capability to the default Text widget.

Add this to the child theme’s functions.php:

add_filter('widget_text', 'do_shortcode');

Then you can proceed to create a Shortcode that will render the form.
See: How do I create shortcodes for my wordpress themes?

The appearance of the Widget in every page will depend on your theme’s implementation of get_sidebar() and its widgets areas. But much probably yes, it’ll appear everywhere. Does other widgets appear everywhere you want?