It's amazing what naming conventions are used over time. In the 70's/early 80's "~" was (at least in programming circles in the UK) called a swan-hyphen, today it is often called a tilde. Though I'm sure it has many other names that have come and gone throughout the fashion of time.
In Spanish most people call it "tilde" as well, but you can also call it "Virgulilla" [1]. I always call it like this just because of how it sounds, love that word.
Interesting, it may well have some bearing upon the UNICODE naming which came about in 1991, which would be around the time that it's usage for "~" seemed to wane out of use.
"#" was another one with many names that have consolidated over time, been decades since heard anybody refer to it as a checkerboard, which was never as elegant and can see why "hash" became the norm.
Bell Telephone videos around the time touch tone dialing was introduced called it the tictactoe symbol. Seemed like a rather informal name from such a formal organization but I guess they wanted something that all of the public would know.
This list derives from revision 2.3 of the Usenet ASCII pronunciation guide. Single characters are listed in ASCII order; character pairs are sorted in by first member. For each character, common names are given in rough order of popularity, followed by names that are reported but rarely seen; official ANSI/CCITT names are surrounded by brokets: <>. Square brackets mark the particularly silly names introduced by INTERCAL.
I learned # from my father, who introduced me to electronics as a lad by bringing a broken Telex machine home from work. He called it "pound," and it stuck with me.
Also, I remember * being "splat" back in my PR1MOS and Vax days.