I found the sketch to the answer to this problem in Makarov (and others) Selected Problems in Real Analysis. Here is what it looks like.
This first requires a lemma (proved last):
For any open interval (a,b), and any e such that 0 < e < b - a, there exists a compact totally disconnected subset K of (a,b) such that m(K) = e. (Totally disconnected means K contains no interval with more than one point.)
It suffices to consider (0,1) instead of [0,1] in the above problem statement. First construct a totally disconnected compact K \subset (0,1) such that m(K) = 1/4. Then (0,1) \ K is open, hence we can set U_{1,1}, U_{1,2}, U_{1,3}, ... to be the disjoint open intervals making up (0,1) \ K. Now for each n, let K_{1,n} be a compact totally disconnected subset of U_{1,n} such that m(K_{1,n}) = \frac{ m(U_{1,n}) } {2^3}. Let U_{2,1}, U_{2,2}, U_{2,3}, ... be the open intervals making up \bigcup_{n=1}^\infty (U_{1,n} - K_{1,n}). For all n, let K_{2,n} be a compact totally disconnected subset of U_{2,n} such that m(K_{2,n}) = \frac{ m(U_{2,n}) } {2^4}. Continue constructing K's, U's inductively, with the identity m(K_{i,j}) = \frac{m(U_{i,j})}{2^{j+2}}.
Define E = K \cup \bigcup_{i=1}^\infty \bigcup_{j=1}^\infty K_{i,j}. We claim this is the desired Borel subset of (0,1). Namely, for any subinterval I of (0,1), we can find a U_{i,j} \subset I, and hence 0 < m(K_{i,j}) \leq m(E \cap I). And also, ... found error here! (The prior conclusion is false: m(E \cap I) \leq m( K_{i,j} \cup I - U_{i,j}) = m(K_{i,j}) - m(U_{i,j}) + m(I) < m(I).)
Proof of lemma:
Suffices to look at [0,1], (instead of looking at [a+d,b-d] subset (a,b) with small d > 0), and it suffices to show for any 0 < e < 1 there exists a dense open U subset (0,1) such that m(U) = e. (Then set K = [0,1] - U, to get m(K) = 1 - e.) To construct such a U, first enumerate the rationals in (0,1) as R = {x1,x2,...}.
Choose p1 such that U1 = (x_p1-e/4,x_p1+e/4) is a subset of (0,1). Then let R1 = R - cl(U1). Choose p2 such that x_p2 in R1, and U2 = (x_p2-e/8, x_p2 + e/8) is a subset of (0,1) and does not intersect U1. Let R2 = R1 - cl(U2). Continue this process, and you get U = \bigcup_{i=1}^\infty U_i is open, and is a disjoint collection such that every rational is in some Ui or otherwise is an endpoint, hence is dense, and we have m(\bigcup_{i=1}^\infty U_i) = \sum_{i=1}^\infty m(U_i) = \sum_{i=1}^\infty \frac{e}{2^i} = e.