Why do wavelets integrate to 0 and how do they match a signal?
For the first question, in words. In the continuous wavelet context, you want to represent a class of signals as a weighted sum of translations and scaling of a single wavelet shape, without losing information. This means that these coefficients can be turned back into the original signal exactly, by a combination of "another" wavelet. For different reasons, if we want this other wavelet to be the initial one, this self-invertibility imposes some restrictions on the possible wavelet candidates. One is the so-called "admissibility" condition, that imposes a zero-mean wavelet (with as well a fast decay for high frequencies). When the wavelet is discretized, this further reduces the diversity of potential wavelet shapes, and still inherit from the zero-mean, or integration to zero. You can look at my other answer here: Admissibility condition for wavelets.

In practice, for discrete or limited-length data, one can tolerate that linear wavelet decompositions are made when the  integral is small enough. Moreover, some multiscale schemes loosely called wavelets (some are non linear) don't even bother. The low-pass, non-zero mean part of data is generally cast to a so-called scaling functions or signal approximation.

For the second question, shift and scale are inherent to the wavelet frame structure. If the signal is multiplied by a constant, a linear wavelet decomposition will multiply its coefficients by the very same constant, as you correctly guessed.