Solution:
(I) Since f(x)=log2(16x+k)−2x=log2(4x+4xk),
Therefore, f(−x)=log2(4−x+4−xk)=log2(k4x+4−x),
From f(−x)=f(x) always holding, we get k=1.
(II) Since log2(4x+4−x), let t=4x, given x∈[−1,21],
Therefore, t∈[41,2],
Since the function y=t+t1 is increasing on [41,1] and decreasing on [1,2],
Therefore, when t=1, i.e., x=0, the function f(x) has its minimum value f(0)=1,
Therefore, when t=41, i.e., x=−1, the function f(x) has its maximum value f(−1)=log2417,
Since m−1⩽f(x)⩽2m+log217 holds for all x∈[−1,21],
Therefore, m−1⩽1 and log2417⩽2m+log217.
Solving gives −1⩽m⩽2
Hence, the range of m is [−1,2].