Does every morphism BG-->BH come from a homomorphism G-->H?
Depends on the base scheme and the topology being used. For example if you're working over a field k in the etale or the flat topology, and take the group G to be trivial, you're asking if H^1(k,H) is trivial, which is obviously false in general. This is, in a sense, the only obstruction: for any base scheme S, giving a map from BG to any stack Y (in stacks/S) is the same as specifying a point y of Y(S), and a homomorphism G -> Aut_S(y). In particular, if BH(S) is connected (i.e., if H^1(S,H) = *) then the answer to your question is positive.
There is some result in the case of Lie groupoids and I believe this is related.
Given Lie groupoids $\mathcal{G},\mathcal{H}$ a morphism of stacks $B\mathcal{G}\rightarrow B\mathcal{H}$ comes from what is called a $\mathcal{G}-\mathcal{H}$ bibundle $P$. This bibundle comes from a morphism of Lie groupoids $\mathcal{G}\rightarrow\mathcal{H}$ if and only if the anchor map $a:P\rightarrow \mathcal{G}_0$ has a global section.
This can be found in proposition $3.36$ of Orbifold as stacks. I think similar result in case of Algebraic geometry can be said.
As a complement to the answers above : it is kind of well-known (at least I thought it was) that the natural morphism
$$\operatorname{\mathbf{Hom}}_{gr} (G,H) \to \operatorname{\mathbf{Hom}}(BG,BH)$$
is an $H$-torsor (where $H$ operates on $\operatorname{\mathbf{Hom}}_{gr} (G,H)$ by conjugacy). In other words, the internal Hom stack $\operatorname{\mathbf{Hom}}(BG,BH)$ identifies with the quotient stack
$$\left[\operatorname{\mathbf{Hom}}_{gr} (G,H) \right/H ] \simeq \operatorname{\mathbf{Hom}}(BG,BH)$$
of the Hom sheaf $\operatorname{\mathbf{Hom}}_{gr} (G,H)$ by the conjugacy action of $H$.
This of course answers the original question completely (globally, no; locally, yes).
The proof is straightforward enough. For instance here is a sketch of the local surjectivity: let $\alpha : BG\to BH$. If $s_G$ is the canonical section of $BG$, we get a morphism $G=\operatorname{\mathbf{Aut}}(s_G)\to \operatorname{\mathbf{Aut}}(\alpha(s_G))$. Since $\alpha(s_G)$ is isomorphic to $s_H$ locally, this defines locally a morphism $G\to H$, up to conjugacy by $H=\operatorname{\mathbf{Aut}}(s_H)$ of course.
I have learnt this from Angelo Vistoli, and since this is nice and quite useful, I am happy to share it back with you. For the context: this isomorphism is a frequent guest in non-abelian cohomology, and in tannaka duality.